%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /etc/ansible/roles/mysql/tasks/
Upload File :
Create Path :
Current File : //etc/ansible/roles/mysql/tasks/mysql-configure-slave.yml

---
# read-only mode on master server
- name: read-only on master server
  mysql_variables: variable=read_only value=1 login_unix_socket={{ mysql_socket }}
  delegate_to: "{{ master_server }}"
  tags: mysqld_master

- name: master options
  mysql_replication: mode=getmaster login_unix_socket={{ mysql_socket }}
  delegate_to: "{{ master_server }}"
  register: master_status
  tags: mysqld_master

- name: create cache directory
  file: path={{ cache_directory }}
    state=directory owner=root group=root mode=0700


# upload databases on slave from master server
- name: create mysql client config
  template: src=.my.cnf.j2
    dest={{ cache_directory }}/.my.cnf-cluster
    owner=root group=root mode=0400
  tags: mysqld_slave

- name: upload site DB on slave server
  bx_dump: src={{ master_server }} dst={{ mysql_socket }} db={{ item.DBName }}
    config_file={{ cache_directory }}/.my.cnf-cluster
    replace=yes site_type={{ item.SiteInstall }}
  with_items: "{{ bx_sites_info }}"
  tags: mysqld_slave

# configure replication
- name: change master
  mysql_replication: mode=changemaster
    master_host={{ master_server }}
    master_log_file={{ master_status.File }}
    master_log_pos={{ master_status.Position }}
    master_user={{ replica_login }}
    master_password={{ replica_password }}
    master_ssl_ca=/var/lib/mysql/ca.pem
    master_ssl_cert=/var/lib/mysql/server.crt
    master_ssl_key=/var/lib/mysql/server.key
  tags: mysqld_slave

- name: start replication 
  mysql_replication: mode=startslave
  tags: mysqld_slave
  

# disable read-only mode
- name: remove the read-only mode from the master-server
  mysql_variables: variable=read_only value=0 login_unix_socket={{ mysql_socket  }}
  delegate_to: "{{ master_server  }}"
  tags: mysqld_master

Zerion Mini Shell 1.0