Documentation

    PLEASE NOTE: This document applies to latest version and not to the latest stable release v2.20

    Documentation for other releases can be found by using the version selector in the top right of any doc page.

    mysql_replication

    Manage MySQL/MariaDB replication topology.

    Attributes

    check_mode:
      support: full
    

    Parameters

    Parameter Required Type Values Description
    config_file   string   MySQL config file to read credentials from.
    login_host   string   Database host to connect to. [default: "localhost"]
    login_password   string   Database password to use.
    login_port   integer   Database port to connect to. [default: 3306]
    login_user   string   Database user to connect with.
    mode   string primary
    replica
    Whether the server is a primary or replica. [default: "primary"]
    primary_host   string   Primary server hostname (required when mode=replica and state=present).
    primary_password   string   Replication user password on the primary.
    primary_port   integer   Primary server port. [default: 3306]
    primary_user   string   Replication user on the primary.
    state   string present
    absent
    getprimary
    The replication state. [default: "present"]

    Example

    - name: Configure server as primary
      mysql_replication:
        mode: primary
        state: present
        login_user: root
        login_password: "{{ vault_root_password }}"
    
    - name: Configure server as replica
      mysql_replication:
        mode: replica
        state: present
        primary_host: db-primary.internal
        primary_user: repl
        primary_password: "{{ vault_repl_password }}"
        primary_port: 3306
        login_user: root
        login_password: "{{ vault_root_password }}"
    
    - name: Stop replication
      mysql_replication:
        mode: replica
        state: absent
        login_user: root
        login_password: "{{ vault_root_password }}"
    
    - name: Get primary status
      mysql_replication:
        state: getprimary
        login_user: root
        login_password: "{{ vault_root_password }}"