mysql_variables – Manage MySQL global variables

Synopsis

  • Query / Set MySQL variables.

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
ca_cert
path
The path to a Certificate Authority (CA) certificate. This option, if used, must specify the same certificate as used by the server.

aliases: ssl_ca
client_cert
path
The path to a client public key certificate.

aliases: ssl_cert
client_key
path
The path to the client private key.

aliases: ssl_key
config_file
path
Default:
"~/.my.cnf"
Specify a config file from which user and password are to be read.
connect_timeout
integer
Default:
30
The connection timeout when connecting to the MySQL server.
login_host
string
Default:
"localhost"
Host running the database.
login_password
string
The password used to authenticate with.
login_port
integer
Default:
3306
Port of the MySQL server. Requires login_host be defined as other than localhost if login_port is used.
login_unix_socket
string
The path to a Unix domain socket for local connections.
login_user
string
The username used to authenticate with.
value
string
If set, then sets variable value to this
variable
string / required
Variable name to operate

Notes

Note

  • Requires the PyMySQL (Python 2.7 and Python 3.X) or MySQL-python (Python 2.X) package on the remote host. The Python package may be installed with apt-get install python-pymysql (Ubuntu; see apt) or yum install python2-PyMySQL (RHEL/CentOS/Fedora; see yum). You can also use dnf install python2-PyMySQL for newer versions of Fedora; see dnf.
  • Both login_password and login_user are required when you are passing credentials. If none are present, the module will attempt to read the credentials from ~/.my.cnf, and finally fall back to using the MySQL default login of ‘root’ with no password.

See Also

See also

mysql_info – Gather information about MySQL servers
The official documentation on the mysql_info module.
MySQL SET command reference
Complete reference of the MySQL SET command documentation.

Examples

- name: Check for sync_binlog setting
  mysql_variables:
    variable: sync_binlog

- name: Set read_only variable to 1
  mysql_variables:
    variable: read_only
    value: 1

Return Values

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

Key Returned Description
queries
list
added in 2.10
if executed
List of executed queries which modified DB's state.

Sample:
['SET GLOBAL `read_only` = 1']


Status

Authors

  • Balazs Pocze (@banyek)

Hint

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