Mysql

使用 Ansible 連接到遠端主機時出錯

  • April 25, 2018

使用 Ansible連接到遠端 Mysql 主機時出錯。

劇本如下

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

這是由於語法。

正確如下——

---
- 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 命令的主機連接到它。

引用自:https://serverfault.com/questions/909037