Documentation

proxysql_manage_config - Writes the proxysql configuration settings between layers.

New in version 2.3.

Synopsis

  • The proxysql_global_variables module writes the proxysql configuration settings between layers. Currently this module will always report a changed state, so should typically be used with WHEN however this will change in a future version when the CHECKSUM table commands are available for all tables in proxysql.

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
action
required
    Choices:
  • LOAD
  • SAVE
The supplied action combines with the supplied direction to provide the semantics of how we want to move the config_settings between the config_layers.
config_file Default:
""
Specify a config file from which login_user and login_password are to be read.
config_layer
required
    Choices:
  • MEMORY
  • DISK
  • RUNTIME
  • CONFIG
RUNTIME - represents the in-memory data structures of ProxySQL used by the threads that are handling the requests. MEMORY - (sometimes also referred as main) represents the in-memory SQLite3 database. DISK - represents the on-disk SQLite3 database. CONFIG - is the classical config file. You can only LOAD FROM the config file.
config_settings
required
    Choices:
  • MYSQL USERS
  • MYSQL SERVERS
  • MYSQL QUERY RULES
  • MYSQL VARIABLES
  • ADMIN VARIABLES
  • SCHEDULER
The config_settings specifies which configuration we're writing.
direction
required
    Choices:
  • FROM
  • TO
FROM - denotes we're reading values FROM the supplied config_layer and writing to the next layer. TO - denotes we're reading from the previous layer and writing TO the supplied config_layer."
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.

Examples

---
# This example saves the mysql users config from memory to disk. It uses
# supplied credentials to connect to the proxysql admin interface.

- proxysql_global_variables:
    login_user: 'admin'
    login_password: 'admin'
    action: "SAVE"
    config_settings: "MYSQL USERS"
    direction: "FROM"
    config_layer: "MEMORY"

# This example loads the mysql query rules config from memory to to runtime. It
# uses supplied credentials to connect to the proxysql admin interface.

- proxysql_global_variables:
    config_file: '~/proxysql.cnf'
    action: "LOAD"
    config_settings: "MYSQL QUERY RULES"
    direction: "TO"
    config_layer: "RUNTIME"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
stdout
dict
Currently the returned value with always be changed=True.
Simply reports whether the action reported a change.

Sample:
{'changed': True}


Status

This module is flagged as stableinterface which means that the maintainers for this module guarantee that no backward incompatible interface changes will be made.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • Ben Mildren (@bmildren)

Hint

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