proxysql_mysql_users – Adds or removes mysql users from proxysql admin interface.

From Get docs
Ansible/docs/2.7/modules/proxysql mysql users module


proxysql_mysql_users – Adds or removes mysql users from proxysql admin interface.

New in version 2.3.


Synopsis

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

  • no
  • yes

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

  • no
  • yes

Save config to sqlite db on disk to persist the configuration.

state

-

  • present

  • absent

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

Authors

  • Ben Mildren (@bmildren)

Hint

If you notice any issues in this documentation you can edit this document to improve it.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/proxysql_mysql_users_module.html