配置主机
[root@ansible ~]# cd /etc/ansible/
[mysql]
node4
node5
[my_master]
node4
[my_slave]
node5
创建角色
[root@ansible ansible]# ansible-galaxy init roles/mysqld
- Role roles/mysqld was created successfully
调用角色配置主从
tasks任务
[root@ansible ansible]# vim roles/mysqld/tasks/main.yml
---
# tasks file for roles/mysqld
- name: set firewalld
service:
name: firewalld
state: stopped
enabled: no
- name: stop selinux
lineinfile:
path: /etc/sysconfig/selinux
regexp: '^SELINUX='
line: 'SELINUX=disabled'
- name: setenforce 0
shell: setenforce 0
- name: install mariadb
yum:
name:
- mariadb-server
- mariadb
state: present
- name: copy moban1
template:
src: my_master.cnf.j2
dest: /etc/my.cnf
when: inventory_hostname in {
{ groups.my_master }}
- name: copy moban2
template:
src: my_slave.cnf.j2
dest: /etc/my.cnf
when: inventory_hostname in {
{ groups.my_slave }}
- name: restare mariadb
service:
name: mariadb
state: started
enabled: yes
- name: quanxian
shell: mysql -uroot -e "GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456';"
- name: quanxian2
shell: mysql -uroot -e "GRANT REPLICATION SLAVE ON *.* TO 'sb'@'slave' IDENTIFIED BY '123456';"
when: inventory_hostname in {
{ groups.my_master }