New in version 1.3.
Manages MySQL server replication, slave, master status get and change master host.
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. |
# 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
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.)
Note
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.
For more information on what this means please read Extras Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.
© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/mysql_replication_module.html