Импортируйте дамп MySQL с помощью Ansible - PullRequest
0 голосов
/ 23 января 2019

Так что я пытаюсь импортировать дамп MySQL, который содержит две базы данных с Ansible на коробке Windows. Ansible playbook должен быть правильным.

- 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 голосов
/ 25 января 2019

Возможно, проблема в перенаправлении ввода.Возможно, вы можете попробовать что-то вроде:

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

См. Перенаправление стандартного ввода / вывода в Windows PowerShell

...