Documentation

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
                              • 0
                              • 1
                              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
                                          • getslave
                                          • getmaster
                                          • changemaster
                                          • stopslave
                                          • startslave
                                          • resetslave
                                          • resetslaveall
                                          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.168.1.1 and use binary log 'mysql-bin.000009' with position 4578
                                                    - mysql_replication: mode=changemaster master_host=192.168.1.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.)

                                                    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.

                                                    This is an Extras Module

                                                    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, Helping Testing PRs and Developing Modules.