proxysql_mysql_users – Adds or removes mysql users from proxysql admin interface.¶
New in version 2.3.
Synopsis¶
- The proxysql_mysql_users module adds or removes mysql users using the proxysql admin interface.
Requirements¶
The below requirements are needed on the host that executes this module.
- PyMySQL (Python 2.7 and Python 3.X), or
- MySQLdb (Python 2.x)
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
active
-
|
A user with active set to
False will be tracked in the database, but will be never loaded in the in-memory data structures. If omitted the proxysql database default for active is True . |
|
backend
-
|
Default: "yes"
|
If backend is set to
True , this (username, password) pair is used for authenticating to the ProxySQL instance. |
config_file
-
|
Default: ""
|
Specify a config file from which login_user and login_password are to be read.
|
default_hostgroup
-
|
If there is no matching rule for the queries sent by this user, the traffic it generates is sent to the specified hostgroup. If omitted the proxysql database default for use_ssl is 0.
|
|
default_schema
-
|
The schema to which the connection should change to by default.
|
|
fast_forward
-
|
If fast_forward is set to
True , fast_forward will bypass the query processing layer (rewriting, caching) and pass through the query directly as is to the backend server. If omitted the proxysql database default for fast_forward is False . |
|
frontend
-
|
Default: "yes"
|
If frontend is set to
True , this (username, password) pair is used for authenticating to the mysqld servers against any hostgroup. |
load_to_runtime
boolean
|
|
Dynamically load config to runtime memory.
|
login_host
-
|
Default: "127.0.0.1"
|
The host used to connect to ProxySQL admin interface.
|
login_password
-
|
The password used to authenticate to ProxySQL admin interface.
|
|
login_port
-
|
Default: 6032
|
The port used to connect to ProxySQL admin interface.
|
login_user
-
|
The username used to authenticate to ProxySQL admin interface.
|
|
max_connections
-
|
The maximum number of connections ProxySQL will open to the backend for this user. If omitted the proxysql database default for max_connections is 10000.
|
|
password
-
|
Password of the user connecting to the mysqld or ProxySQL instance.
|
|
save_to_disk
boolean
|
|
Save config to sqlite db on disk to persist the configuration.
|
state
-
|
|
When
present - adds the user, when absent - removes the user. |
transaction_persistent
-
|
If this is set for the user with which the MySQL client is connecting to ProxySQL (thus a "frontend" user), transactions started within a hostgroup will remain within that hostgroup regardless of any other rules. If omitted the proxysql database default for transaction_persistent is
False . |
|
use_ssl
-
|
If use_ssl is set to
True , connections by this user will be made using SSL connections. If omitted the proxysql database default for use_ssl is False . |
|
username
-
/ required
|
Name of the user connecting to the mysqld or ProxySQL instance.
|
Examples¶
---
# 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 M(proxysql_manage_config) module). It
# uses supplied credentials to connect to the proxysql admin interface.
- 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.
- proxysql_mysql_users:
config_file: '~/proxysql.cnf'
username: 'mysqlboy'
state: absent
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
stdout
dictionary
|
On create/update will return the newly modified user, on delete it will return the deleted record. |
The mysql user modified or removed from proxysql
Sample:
{'changed': True, 'msg': 'Added user to mysql_users', 'state': 'present', 'user': {'active': 1, 'backend': 1, 'default_hostgroup': 1, 'default_schema': None, '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'}
|
Status¶
- This module is guaranteed to have no backward incompatible interface changes going forward. [stableinterface]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Ben Mildren (@bmildren)
Hint
If you notice any issues in this documentation you can edit this document to improve it.