使用Ansible导入MySQL Dump

时间:2019-01-23 12:47:51

标签: mysql powershell ansible openstack azure-powershell

因此,我试图导入一个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\

1 个答案:

答案 0 :(得分:1)

问题可能是输入重定向。也许您可以尝试以下方法:

win_command: 'Get-Content C:\sql\dump.sql | mysql -uroot -p12345678910 -hlocalhost'

请参见Redirecting standard input\output in Windows PowerShell