因此,我试图导入一个MySQL转储,该转储包含Windows框上具有Ansible的两个数据库。 Ansible剧本应该是正确的。
- hosts: win
gather_facts: no
tasks:
- name: Import DB
win_command: 'mysql -uroot -p12345678910 -hlocalhost < "C:\sql\dump.sql"'
args:
chdir: C:\Program Files\MySQL\MySQL Server 5.6\bin\
在Windows框中,如果我打开CMD并运行
cd C:\Program Files\MySQL\MySQL Server 5.6\bin\
,然后'mysql -uroot -p12345678910 -hlocalhost < "C:\sql\dump.sql"'
,它运行完美。
我遇到了一个大错误。我在做什么错了?
我可以使用非常相似的Playbook来检查数据库:
- hosts: win
gather_facts: no
tasks:
- name: Check DB
win_command: 'mysql -uroot -p12345678910 -e "SHOW DATABASES;"'
args:
chdir: C:\Program Files\MySQL\MySQL Server 5.6\bin\
答案 0 :(得分:1)
问题可能是输入重定向。也许您可以尝试以下方法:
win_command: 'Get-Content C:\sql\dump.sql | mysql -uroot -p12345678910 -hlocalhost'