[root@server ~]# cd /etc/ansible/
[root@server ansible]# vim hosts
[mysql]
node1
node2
[mysql_master]
node1
[mysql_slave]
node2
[root@server ansible]# cd roles/
[root@server roles]# ansible-galaxy init mysql
- Role mysql was created successfully
[root@server roles]# ls
mysql
[root@server roles]# cd mysql/
[root@server mysql]# ls
defaults files handlers meta README.md tasks templates tests vars
playbook
[root@server mysql]# vim tasks/main.yml
---
# tasks file for mysql
- name: mount
mount:
src: /dev/cdrom
path: /mnt
fstype: iso9660
state: mounted
- name: clear repo
shell:
cmd: rm -rf /etc/yum.repos.d/*
- name: set repo1
yum_repository:
file: server
name: aa
description: aa
baseurl: file:///mnt/BaseOS
enabled: yes
gpgcheck: no
- name: set repo2
yum_repository:
file: server
name: bb
description: bb
baseurl: file:///mnt/AppStream
enabled: yes
gpgcheck: no
- name: stop firewalld
service:
name: firewalld
state: stopped
enabled: no
- name: stop selinux1
lineinfile:
path: /etc/selinux/config
regexp: '^SELINUX='
line: SELINUX=disabled
- name: stop selinux2
shell:
cmd: setenforce 0
- name: install mariadb
yum:
name:
- mariadb-server
- mariadb
state: present
- name: cp template config1
template:
src: mastermy.cnf.j2
dest: /etc/my.cnf
when: inventory_hostname in {
{ groups.mysql_master }}
- name: cp template config2
template:
src: slavemy.cnf.j2
dest: /etc/my.cnf
when: invento