Giải pháp 1:
Tôi nghĩ rằng bạn đã bỏ lỡ chức năng nhập của mysql_db
mô-đun. Bạn có thể tải cả lược đồ và dữ liệu với nó bằng cách sử dụng import
làm tham số cho trạng thái và cung cấp cho nó một tệp để tải trong target
Ví dụ từ tài liệu 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
Giải pháp 2:
Nếu mysql_db không cung cấp cho bạn tất cả các tùy chọn mà bạn cần và sự linh hoạt, bạn chỉ có thể sử dụng mysql
chương trình kết hợp với shell
.
- name: Import DB
shell: mysql db_name < dump.sql
Trên tải dump.sql
tệp vào cơ sở dữ liệu db_name
. Xem mysql
hướng dẫn sử dụng chương trình để có thêm tùy chọn: man mysql
Giải pháp 3:
mysqlimport
tiện ích với lệnh command
mô-đun:
- name: Import DB
command: mysqlimport [options] db_name textfile1 [textfile2 ...]
Xem: tài liệu mysqlimport