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