Rozwiązanie 1:
Myślę, że przegapiłeś funkcję importu mysql_db
moduł. Możesz załadować zarówno schemat, jak i dane za pomocą import
jako parametr do stanu i nadanie mu pliku do załadowania w target
Przykład z dokumentów Ansible:
# Copy database dump file to remote host and restore it to database 'my_db'
- copy: src=dump.sql.bz2 dest=/tmp
- mysql_db: name=my_db state=import target=/tmp/dump.sql.bz2
Rozwiązanie 2:
Jeśli mysql_db nie zapewnia wszystkich potrzebnych opcji i elastyczności, możesz po prostu użyć mysql
program w połączeniu z shell
.
- name: Import DB
shell: mysql db_name < dump.sql
Powyżej wczytuje dump.sql
plik do bazy danych db_name
. Zobacz mysql
instrukcja programu, aby uzyskać więcej opcji:man mysql
Rozwiązanie 3:
mysqlimport
narzędzie z command
moduł:
- name: Import DB
command: mysqlimport [options] db_name textfile1 [textfile2 ...]
Zobacz:mysqlimport docs