ansible角色部署mysql主从复制
生活随笔
收集整理的這篇文章主要介紹了
ansible角色部署mysql主从复制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ansible角色部署mysql主從復制
創建角色mariadb
[root@ansible roles]# ansible-galaxy init mariadb編寫角色執行任務
[root@ansible roles]# vim mariadb/tasks/main.yml [root@ansible roles]# cat mariadb/tasks/main.yml --- # tasks file for mariadb - name: mountmount:src: /dev/cdrompath: /mnt/fstype: iso9660state: mounted- name: reposhell:cmd: rm -rf /etc/yum.repos.d/*- name: yum_repository1yum_repository:file: servername: AppStreamdescription: AppStreambaseurl: file:///mnt/AppStreamenabled: yesgpgcheck: no- name: yum_reposirtoryyum_repository:file: servername: BaseOSdescription: BaseOSbaseurl: file:///mnt/BaseOSenabled: yesgpgcheck: no- name: stop firewalldservice:name: firewalldstate: stoppedenabled: no- name: stop selinuxlineinfile:path: /etc/selinux/configregexp: '^SELINUX='line: SELINUX=enforcing- name: stop selinuxshell: setenforce 0- name: install mariadbyum:name:- mariadb- mariadb-serverstate: present- name: templatetemplate:src: mastermy.cnf.j2dest: /etc/my.cnfwhen: inventory_hostname in {{ groups.mysql_master }}- name: templatetemplate:src: slavemy.cnf.j2dest: /etc/my.cnfwhen: inventory_hostname in {{ groups.mysql_slave }}- name: restart mariadbservice:name: mariadbstate: restartedenabled: yes- name: mariadb1shell:cmd: mysql -uroot -e "create user 'xuanning'@'192.168.226.60' identified by '123456';"when: inventory_hostname in {{ groups.mysql_master }}- name: mariadb2shell:cmd: mysql -uroot -e "GRANT REPLICATION SLAVE ON *.* TO 'xuanning'@'192.168.226.60';"when: inventory_hostname in {{ groups.mysql_master }}- name: mariadb3shell:cmd: mysql -uroot -e "flush privileges;"when: inventory_hostname in {{ groups.mysql_master }} - name: slaveshell:cmd: mysql -uroot -e "change master to master_host='192.168.226.50',master_user = 'xuanning',master_password = '123456';"when: inventory_hostname in {{ groups.mysql_slave }}- name: slave2shell:cmd: mysql -uroot -e "start slave;"when: inventory_hostname in {{ groups.mysql_slave }}編寫所需的模板文件
[root@ansible roles]# cat mariadb/templates/mastermy.cnf.j2 [master] log-bin=g server-id=2000 [root@ansible roles]# cat mariadb/templates/slavemy.cnf.j2 [slave] log-bin=g server-id=2001編寫劇本調用角色
[root@ansible ansible]# cat mariadb.yml --- - name: mariadbhosts: mysqlroles:- mariadb執行劇本
[root@ansible ansible]# ansible-playbook mariadb.yml驗證
MariaDB [(none)]> show slave status \G *************************** 1. row ***************************Slave_IO_State:Master_Host: 192.168.226.50Master_User: xuanningMaster_Port: 3306Connect_Retry: 60Master_Log_File:Read_Master_Log_Pos: 4Relay_Log_File: node2-relay-bin.000001Relay_Log_Pos: 4Relay_Master_Log_File:Slave_IO_Running: ConnectingSlave_SQL_Running: Yes總結
以上是生活随笔為你收集整理的ansible角色部署mysql主从复制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 缓冲区溢出(Buffer Overflo
- 下一篇: esxi5.5 集成AR8162/816