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
。
概要
community.proxysql.proxysql_backend_servers 模块使用 ProxySQL 管理界面添加或移除 MySQL 主机。
需求
执行此模块的主机需要以下需求。
PyMySQL
mysqlclient
参数
参数 |
注释 |
---|---|
可用于用户定义的任何用途的文本字段。可以是对主机存储内容的描述、主机添加或禁用的提醒,或者由某些检查脚本处理的 JSON。 默认值: |
|
如果 compression 值大于 0,则与该服务器的新连接将使用压缩。如果省略,则 ProxySQL 数据库的 compression 默认值为 0。 |
|
指定从中读取 login_user 和 login_password 的配置文件。 默认值: |
|
此 mysqld 实例包含在其中的主机组。一个实例可以属于一个或多个主机组。 默认值: |
|
可以联系 mysqld 实例的 IP 地址。 |
|
动态将配置加载到运行时内存。 选项
|
|
用于连接到 ProxySQL 管理界面的主机。 默认值: |
|
用于对 ProxySQL 管理界面进行身份验证的密码。 |
|
用于连接到 ProxySQL 管理界面的端口。 默认值: |
|
用于连接到 ProxySQL 管理界面的套接字。 |
|
用于对 ProxySQL 管理界面进行身份验证的用户名。 |
|
ProxySQL 将为此后端服务器打开的最大连接数。如果省略,则 ProxySQL 数据库的 max_connections 默认值为 1000。 |
|
定期监控 ping 时间。如果主机的 ping 时间大于 max_latency_ms,则将其从连接池中排除(尽管服务器仍然处于联机状态)。如果省略,则 ProxySQL 数据库的 max_latency_ms 默认值为 0。 |
|
如果大于 0,ProxySQL 将定期监控复制延迟。如果复制延迟超过 max_replication_lag,ProxySQL 将暂时屏蔽服务器,直到复制赶上。如果省略,则 ProxySQL 数据库的 max_replication_lag 默认值为 0。 |
|
可以联系 mysqld 实例的端口。 默认值: |
|
将配置保存到磁盘上的 sqlite 数据库以持久化配置。 选项
|
|
当 选项
|
|
ONLINE - 后端服务器完全运行。OFFLINE_SOFT - 当服务器处于 选项
|
|
如果 use_ssl 设置为 选项
|
|
服务器的权重相对于其他服务器权重越大,则从主机组中选择该服务器的概率越高。如果省略,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
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
从 proxysql 中修改或删除的 MySQL 主机 返回值: 创建/更新时将返回新修改的主机,删除时将返回已删除的记录。 示例: |