假设您有一个sql-file database.sql,它创建数据库模式,其中的表和一些初始填充.通常,我可以使用ansible通过以下方式创建此数据库:
---
- name: copy database.sql to server
template: src=database.sql dest=/tmp/database.sql owner=root group=root
- name: sql the thing into MySQL
command: mysql "-u root -p{{ mysql_root_password }} < /tmp/database.sql"
- name: remove the sql file from the server
command: rm -f /tmp/database.sql
Run Code Online (Sandbox Code Playgroud)
而这正是它所说的.但是当database.sql很大(可能是2 TByte)时,你真的不想先复制复制操作.有没有办法将database.sql作为一个文件引用到ansible-master服务器上(我们从中推送它),这样你就可以做一个mysql -u root @ master -p ... <"本地文件",这样就可以了不再需要复制动作了吗?