Ошибка при подключении к удаленному хосту через Ansible
Ошибка при подключении к удаленному хосту Mysql с использованием Ansible.
Playbook как ниже
---
- name: "Create database"
login_host: host.xyz.com
login_password: "{{ mysql_root_pass }}"
login_port: "{{ mysql_port }}"
login_user: "{{ mysql_root }}"
mysql_db: "db=\"{{ item }}\" state=present"
При попытке подключения получаю следующую ошибку.
"msg": "ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)\n"
2 ответа
Решение
Это было связано с синтаксисом.
Правильно ниже -
---
- name: Create database
mysql_db:
login_host: test.xyz.com
login_password: "{{ mysql_root_pass }}"
login_port: "{{ mysql_port }}"
login_user: "{{ mysql_root }}"
Ошибка говорит вам точно, что это такое - вы не можете подключиться к серверу mySQL на хосте, на котором вы запускаете команду mySQL. Скорее всего, это одно или несколько из следующих:
- Сервер MySQL не работает.
- Сервер MySQL работает, но не имеет записи DNS.
- Сервер MySQL работает, но он находится в другой сети, поэтому он не маршрутизируется с хоста, на котором вы запускаете команду mySQL.
- Сервер mySQL работает, но правила брандмауэра не позволяют подключиться к нему с хоста, на котором вы запускаете команду mySQL.