所以我尝试在 Windows 机器上使用 Ansible 导入包含两个数据库的 MySQL 转储。 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\
最佳答案
问题可能是输入重定向。也许你可以尝试这样的事情:
win_command: 'Get-Content C:\sql\dump.sql | mysql -uroot -p12345678910 -hlocalhost'
关于mysql - 使用 Ansible 导入 MySQL 转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54327646/