Documentation

mysql_variables - Manage MySQL global variables

New in version 1.3.

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
config_file
(added in 2.0)
Default:
"~/.my.cnf"
Specify a config file from which user and password are to be read.
connect_timeout
(added in 2.1)
Default:
30
The connection timeout when connecting to the MySQL server.
login_host Default:
"localhost"
Host running the database.
login_password
The password used to authenticate with.
login_port Default:
3306
Port of the MySQL server. Requires login_host be defined as other then localhost if login_port is used.
login_unix_socket
The path to a Unix domain socket for local connections.
login_user
The username used to authenticate with.
ssl_ca
(added in 2.0)
The path to a Certificate Authority (CA) certificate. This option, if used, must specify the same certificate as used by the server.
ssl_cert
(added in 2.0)
The path to a client public key certificate.
ssl_key
(added in 2.0)
The path to the client private key.
value
If set, then sets variable value to this
variable
required
Variable name to operate

Notes

Note

  • Requires the PyMySQL (Python 2.7 and Python 3.X) or MySQL-python (Python 2.X) Python package on the remote host. For Ubuntu, this is as easy as apt-get install python-pymysql. (See apt.) For CentOS/Fedora, this is as easy as yum install python2-PyMySQL. (See yum.)
  • 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.

Examples

# Check for sync_binlog setting
- mysql_variables:
    variable: sync_binlog

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

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

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

  • Balazs Pocze (@banyek)

Hint

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