mysql_replication - Manage MySQL replication
New in version 1.3.
Synopsis
- Manages MySQL server replication, slave, master status get and change master host.
Requirements (on host that executes module)
- MySQLdb
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
config_file (added in 2.0)
| no | ~/.my.cnf | Specify a config file from which user and password are to be read. | |
connect_timeout (added in 2.1)
| no | 30 | The connection timeout when connecting to the MySQL server. | |
login_host | no | localhost | Host running the database. | |
login_password | no | The password used to authenticate with. | ||
login_port | no | 3306 | Port of the MySQL server. Requires login_host be defined as other then localhost if login_port is used. | |
login_unix_socket | no | The path to a Unix domain socket for local connections. | ||
login_user | no | The username used to authenticate with. | ||
master_auto_position (added in 2.0)
| no | does the host uses GTID based replication or not | ||
master_connect_retry | no | same as mysql variable | ||
master_host | no | same as mysql variable | ||
master_log_file | no | same as mysql variable | ||
master_log_pos | no | same as mysql variable | ||
master_password | no | same as mysql variable | ||
master_port | no | same as mysql variable | ||
master_ssl | no |
| same as mysql variable | |
master_ssl_ca | no | same as mysql variable | ||
master_ssl_capath | no | same as mysql variable | ||
master_ssl_cert | no | same as mysql variable | ||
master_ssl_cipher | no | same as mysql variable | ||
master_ssl_key | no | same as mysql variable | ||
master_user | no | same as mysql variable | ||
mode | no | getslave |
| module operating mode. Could be getslave (SHOW SLAVE STATUS), getmaster (SHOW MASTER STATUS), changemaster (CHANGE MASTER TO), startslave (START SLAVE), stopslave (STOP SLAVE), resetslave (RESET SLAVE), resetslaveall (RESET SLAVE ALL) |
relay_log_file | no | same as mysql variable | ||
relay_log_pos | no | same as mysql variable | ||
ssl_ca (added in 2.0)
| no | 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)
| no | The path to a client public key certificate. | ||
ssl_key (added in 2.0)
| no | The path to the client private key. |
Examples
# Stop mysql slave thread - mysql_replication: mode: stopslave # Get master binlog file name and binlog position - mysql_replication: mode: getmaster # Change master to master server 192.0.2.1 and use binary log 'mysql-bin.000009' with position 4578 - mysql_replication: mode: changemaster master_host: 192.0.2.1 master_log_file: mysql-bin.000009 master_log_pos: 4578 # Check slave status using port 3308 - mysql_replication: mode: getslave login_host: ansible.example.com login_port: 3308
Notes
Note
- Requires the MySQLdb Python package on the remote host. For Ubuntu, this is as easy as apt-get install python-mysqldb. (See apt.) For CentOS/Fedora, this is as easy as yum install MySQL-python. (See yum.)
- Both
login_password
andlogin_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.
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/mysql_replication_module.html