使用 Ansible 连接到远程主机时出错

使用 Ansible 连接到远程主机时出错

连接到时出错使用 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"

答案1

错误会准确地告诉您它是什么 - 您无法连接到正在运行 mySQL 命令的主机上的 mySQL 服务器。可能是以下一个或多个原因:

  1. mySQL 服务器未运行。
  2. mySQL 服务器已启动,但没有 DNS 条目。
  3. mySQL 服务器已启动,但它位于不同的网络上,因此无法从运行 mySQL 命令的主机进行路由。
  4. mySQL 服务器已启动,但防火墙规则阻止您从运行 mySQL 命令的主机连接到它。

答案2

这是由于语法造成的。

正确的是以下 -

---
- name: Create database
  mysql_db:
    login_host: test.xyz.com
    login_password: "{{ mysql_root_pass }}"
    login_port: "{{ mysql_port }}"
    login_user: "{{ mysql_root }}"

相关内容