community.proxysql.proxysql_backend_servers 模块 – 从 proxysql 管理界面添加或删除 mysql 主机

注意

此模块是 community.proxysql 集合(版本 1.6.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.proxysql。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:community.proxysql.proxysql_backend_servers

概要

要求

执行此模块的主机需要以下要求。

  • PyMySQL

  • mysqlclient

参数

参数

注释

comment

字符串

文本字段,可用于用户定义的任何目的。可以是主机存储内容的描述、添加或禁用主机时的提醒,或由某些检查脚本处理的 JSON。

默认值: ""

compression

整数

如果compression的值大于 0,则与该服务器的新连接将使用压缩。如果省略,则 proxysql 数据库中compression的默认值为 0。

config_file

路径

指定一个配置文件,从中读取 login_userlogin_password

默认值: ""

hostgroup_id

整数

此 mysqld 实例所属的主机组。一个实例可以是一个或多个主机组的一部分。

默认值: 0

hostname

字符串 / 必填

可以联系 mysqld 实例的 IP 地址。

load_to_runtime

布尔值

动态加载配置到运行时内存。

选择

  • false

  • true ← (默认)

login_host

字符串

用于连接到 ProxySQL 管理界面的主机。

默认值: "127.0.0.1"

login_password

字符串

用于验证 ProxySQL 管理界面的密码。

login_port

整数

用于连接到 ProxySQL 管理界面的端口。

默认值: 6032

login_unix_socket

字符串

用于连接到 ProxySQL 管理界面的套接字。

login_user

字符串

用于验证 ProxySQL 管理界面的用户名。

max_connections

整数

ProxySQL 将打开到此后端服务器的最大连接数。如果省略,则 proxysql 数据库中max_connections的默认值为 1000。

max_latency_ms

整数

定期监控 ping 时间。如果主机的 ping 时间大于 max_latency_ms,则会将其从连接池中排除(尽管服务器保持 ONLINE)。如果省略,则 proxysql 数据库中max_latency_ms的默认值为 0。

max_replication_lag

整数

如果大于 0,ProxySQL 将定期监控复制延迟。如果复制延迟超过 max_replication_lag,proxysql 将暂时回避服务器,直到复制赶上。如果省略,则 proxysql 数据库中max_replication_lag的默认值为 0。

port

整数

可以联系 mysqld 实例的端口。

默认值: 3306

save_to_disk

布尔值

将配置保存到磁盘上的 sqlite 数据库以持久化配置。

选择

  • false

  • true ← (默认)

state

字符串

present - 添加主机,当 absent - 删除主机。

选择

  • "present" ← (默认)

  • "absent"

status

字符串

ONLINE - 后端服务器完全运行。 OFFLINE_SOFT - 当服务器处于 OFFLINE_SOFT 模式时,连接将保持使用状态,直到当前事务完成。这允许优雅地分离后端。 OFFLINE_HARD - 当服务器处于 OFFLINE_HARD 模式时,现有连接将被丢弃,同时也不接受新的传入连接。如果省略,则 proxysql 数据库中status的默认值为 ONLINE

选择

  • "ONLINE"

  • "OFFLINE_SOFT"

  • "OFFLINE_HARD"

use_ssl

布尔值

如果 use_ssl 设置为 True,则与此服务器的连接将使用 SSL 连接。如果省略,则 proxysql 数据库中use_ssl的默认值为 False

选择

  • false

  • true

weight

整数

服务器的权重相对于其他权重越大,则从主机组中选择该服务器的概率越高。如果省略,则 proxysql 数据库中weight的默认值为 1。

说明

注意

  • 支持 check_mode

示例

---
# This example adds a server, it saves the mysql server config to disk, but
# avoids loading the mysql server config to runtime (this might be because
# several servers are being added and the user wants to push the config to
# runtime in a single batch using the community.general.proxysql_manage_config
# module).  It uses supplied credentials to connect to the proxysql admin
# interface.

- name: Add a server
  community.proxysql.proxysql_backend_servers:
    login_user: 'admin'
    login_password: 'admin'
    hostname: 'mysql01'
    state: present
    load_to_runtime: false

# This example removes a server, saves the mysql server config to disk, and
# dynamically loads the mysql server config to runtime.  It uses credentials
# in a supplied config file to connect to the proxysql admin interface.

- name: Remove a server
  community.proxysql.proxysql_backend_servers:
    config_file: '~/proxysql.cnf'
    hostname: 'mysql02'
    state: absent

返回值

通用返回值记录在此处,以下是此模块独有的字段

描述

stdout

字典

从 proxysql 修改或删除的 mysql 主机

返回: 在创建/更新时将返回新修改的主机,在删除时将返回删除的记录。

示例: {"changed": true, "hostname": "192.168.52.1", "msg": "已将 服务器 添加到 mysql_hosts", "server": {"comment": "", "compression": "0", "hostgroup_id": "1", "hostname": "192.168.52.1", "max_connections": "1000", "max_latency_ms": "0", "max_replication_lag": "0", "port": "3306", "status": "ONLINE", "use_ssl": "0", "weight": "1"}, "state": "present"}

作者

  • Ben Mildren (@bmildren)