community.proxysql.proxysql_mysql_users 模块 – 通过 ProxySQL 管理界面添加或删除 MySQL 用户

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.proxysql。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:community.proxysql.proxysql_mysql_users

概要

要求

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

  • PyMySQL

  • mysqlclient

参数

参数

注释

active

布尔值

active 设置为 False 的用户将在数据库中跟踪,但永远不会加载到内存中的数据结构中。如果省略,ProxySQL 数据库的 active 默认值为 True

选项

  • false

  • true

backend

布尔值

如果 backend 设置为 True,则此 (用户名,密码) 对用于对 ProxySQL 实例进行身份验证。

选项

  • false

  • true ← (默认)

config_file

路径

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

默认值: ""

default_hostgroup

整数

如果没有匹配此用户发送的查询的规则,则它生成的流量将发送到指定的 hostgroup。如果省略,ProxySQL 数据库的 use_ssl 默认值为 0。

default_schema

字符串

连接应该默认切换到的模式。

encrypt_password

布尔值

使用 encryption_method 中定义的方法加密 password 选项中传递的明文密码。

选项

  • false ← (默认)

  • true

encryption_method

字符串

encrypt_password 设置为 True 时使用的加密方法。

选项

  • "mysql_native_password" ← (默认)

fast_forward

布尔值

如果 fast_forward 设置为 Truefast_forward 将绕过查询处理层(重写、缓存),并将查询原样直接传递到后端服务器。如果省略,ProxySQL 数据库的 fast_forward 默认值为 False

选项

  • false

  • true

frontend

布尔值

如果 frontend 设置为 True,则此 (用户名,密码) 对用于针对任何 hostgroup 对 mysqld 服务器进行身份验证。

选项

  • false

  • true ← (默认)

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 默认值为 10000。

password

字符串

连接到 mysqld 或 ProxySQL 实例的用户的密码。

save_to_disk

布尔值

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

选项

  • false

  • true ← (默认)

state

字符串

present 时 - 添加用户,当 absent 时 - 删除用户。

选项

  • "present" ← (默认)

  • "absent"

transaction_persistent

布尔值

如果为此用户设置(MySQL 客户端使用此用户连接到 ProxySQL(因此是“前端”用户)),则在 hostgroup 内启动的事务将保留在该 hostgroup 内,而不管任何其他规则如何。如果省略,ProxySQL 数据库的 transaction_persistent 默认值为 False

选项

  • false

  • true

use_ssl

布尔值

如果 use_ssl 设置为 True,则此用户的连接将使用 SSL 连接进行。如果省略,ProxySQL 数据库的 use_ssl 默认值为 False

选项

  • false

  • true

username

字符串 / 必需

连接到 mysqld 或 ProxySQL 实例的用户的名称。

备注

注意

  • 支持 check_mode

示例

---
# This example adds a user, it saves the mysql user config to disk, but
# avoids loading the mysql user config to runtime (this might be because
# several users 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 user
  community.proxysql.proxysql_mysql_users:
    login_user: 'admin'
    login_password: 'admin'
    username: 'productiondba'
    state: present
    load_to_runtime: false

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

- name: Remove a user
  community.proxysql.proxysql_mysql_users:
    config_file: '~/proxysql.cnf'
    username: 'mysqlboy'
    state: absent

返回值

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

描述

stdout

字典

从 ProxySQL 中修改或删除的 MySQL 用户。

返回: 创建/更新时将返回新修改的用户,删除时将返回已删除的记录。

示例: {"changed": true, "msg": "已将用户添加到mysql_users", "state": "present", "user": {"active": 1, "backend": 1, "default_hostgroup": 1, "default_schema": null, "fast_forward": 0, "frontend": 1, "max_connections": 10000, "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "schema_locked": 0, "transaction_persistent": 0, "use_ssl": 0, "username": "guest_ro"}, "username": "guest_ro"}

作者

  • Ben Mildren (@bmildren)