proxysql_backend_servers - Adds or removes mysql hosts from proxysql admin interface.
New in version 2.3.
Synopsis
- The proxysql_backend_servers module adds or removes mysql hosts 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 |
---|---|---|
comment | Default: | Text field that can be used for any purposed defined by the user. Could be a description of what the host stores, a reminder of when the host was added or disabled, or a JSON processed by some checker script. |
compression | If the value of compression is greater than 0, new connections to that server will use compression. If omitted the proxysql database default for compression is 0. | |
config_file | Default: | Specify a config file from which login_user and login_password are to be read. |
hostgroup_id | Default: 0 | The hostgroup in which this mysqld instance is included. An instance can be part of one or more hostgroups. |
hostname required | The ip address at which the mysqld instance can be contacted. | |
load_to_runtime |
| Dynamically load config to runtime memory. |
login_host | Default: 127.0.0.1 | The host used to connect to ProxySQL admin interface. |
login_password | Default: None | The password used to authenticate to ProxySQL admin interface. |
login_port | Default: 6032 | The port used to connect to ProxySQL admin interface. |
login_user | Default: None | The username used to authenticate to ProxySQL admin interface. |
max_connections | The maximum number of connections ProxySQL will open to this backend server. If omitted the proxysql database default for max_connections is 1000. | |
max_latency_ms | Ping time is monitored regularly. If a host has a ping time greater than max_latency_ms it is excluded from the connection pool (although the server stays ONLINE). If omitted the proxysql database default for max_latency_ms is 0. | |
max_replication_lag | If greater than 0, ProxySQL will reguarly monitor replication lag. If replication lag goes above max_replication_lag, proxysql will temporarily shun the server until replication catches up. If omitted the proxysql database default for max_replication_lag is 0. | |
port | Default: 3306 | The port at which the mysqld instance can be contacted. |
save_to_disk |
| Save config to sqlite db on disk to persist the configuration. |
state |
| When present - adds the host, when absent - removes the host. |
status |
| ONLINE - Backend server is fully operational. OFFLINE_SOFT - When a server is put into OFFLINE_SOFT mode, connections are kept in use until the current transaction is completed. This allows to gracefully detach a backend. OFFLINE_HARD - When a server is put into OFFLINE_HARD mode, the existing connections are dropped, while new incoming connections aren't accepted either. If omitted the proxysql database default for status is ONLINE . |
use_ssl | If use_ssl is set to True , connections to this server will be made using SSL connections. If omitted the proxysql database default for use_ssl is False . | |
weight | The bigger the weight of a server relative to other weights, the higher the probability of the server being chosen from the hostgroup. If omitted the proxysql database default for weight is 1. |
Examples
--- # 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 M(proxysql_manage_config) module). It # uses supplied credentials to connect to the proxysql admin interface. - 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. - proxysql_backend_servers: config_file: '~/proxysql.cnf' hostname: 'mysql02' state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
stdout dict | On create/update will return the newly modified host, on delete it will return the deleted record. | The mysql host modified or removed from proxysql Sample: {'msg': 'Added server to mysql_hosts', 'state': 'present', 'changed': True, 'hostname': '192.168.52.1', 'server': {'comment': '', 'status': 'ONLINE', 'compression': '0', 'weight': '1', 'hostname': '192.168.52.1', 'hostgroup_id': '1', 'use_ssl': '0', 'max_connections': '1000', 'port': '3306', 'max_latency_ms': '0', 'max_replication_lag': '0'}} |
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.
Author
- 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.5/modules/proxysql_backend_servers_module.html