使用 Ansible 导入 MySQL 转储

Import MySQL Dump with Ansible

所以我试图导入一个 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\

如果我打开 CMD 并 运行 在 windows 框中 cd C:\Program Files\MySQL\MySQL Server 5.6\bin\ 然后 'mysql -uroot -p12345678910 -hlocalhost < "C:\sql\dump.sql"' 效果很好。

我遇到了一个巨大的错误。我做错了什么?

我可以使用非常相似的剧本检查数据库:

- 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'

Redirecting standard input\output in Windows PowerShell