Ошибка при подключении к удаленному хосту через 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. Скорее всего, это одно или несколько из следующих:

  1. Сервер MySQL не работает.
  2. Сервер MySQL работает, но не имеет записи DNS.
  3. Сервер MySQL работает, но он находится в другой сети, поэтому он не маршрутизируется с хоста, на котором вы запускаете команду mySQL.
  4. Сервер mySQL работает, но правила брандмауэра не позволяют подключиться к нему с хоста, на котором вы запускаете команду mySQL.
Другие вопросы по тегам