| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- ---
- - name: Create readonly user
- mysql_user:
- name: repl
- password: "{{ repl_password | d(db_password) }}"
- host: '%'
- priv: '*.*:ALL'
- state: present
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- - include_tasks: 10ha.yml
- when: inventory_hostname == groups['mariadb_ha_nodes'][0]
- - include_tasks: 20ha.yml
- when: inventory_hostname == groups['mariadb_ha_nodes'][1]
- - when: inventory_hostname == groups['mariadb_ha_nodes'][0]
- block:
- - name: Get primary binlog file name and binlog position
- mysql_replication:
- mode: getprimary
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- delegate_to: "{{ groups['mariadb_ha_nodes'][1] }}"
- register: repl_info
- - name: Stop replica
- mysql_replication:
- mode: stopreplica
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- - name: Change primary to db02 for db01
- mysql_replication:
- mode: changeprimary
- primary_host: "{{ hostvars[groups['mariadb_ha_nodes'][1]]['ansible_host'] }}"
- primary_log_file: "{{ repl_info.File }}"
- primary_log_pos: "{{ repl_info.Position }}"
- primary_user: "repl"
- primary_password: "{{ repl_password | d(db_password) }}"
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- ignore_errors: true
- - name: Start replica
- mysql_replication:
- mode: startreplica
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- - include_tasks: keepalived.yml
|