環境
主機名 |
安裝服務 |
wan |
lan |
db01 |
mariadb |
10.0.0.51 |
172.16.1.51 |
流程分析
1.安裝ansible
2.優化ansible
3.推送公鑰
4.開啓防火牆
5.開啓80 443 873 nfs等端口和服務白名單
6.關閉selinux
7.建立同一的用戶
1.安裝數據庫
2.啓動數據庫
3.建立數據庫用戶
4.建立數據庫
主機清單
[root@m01 ~]# vim /etc/ansible/hosts
[db_group]
db01 ansible_ssh_host=172.16.1.51 asible_ssh_user=root ansible_ssh_port=22
導出數據庫數據
1.備份db01上的數據庫
mysqldump -uroot -p'1' -A wp > /root/wp.sql
2.將web01上備份的數據庫拷貝至m01服務器上
scp wp.sql root@172.16.1.61:/root/ansible/lb/
yml
- hosts: all
tasks:
- name: install mariadb
yum:
name: mariadb-server
state: present
when: ansible_fqdn is match 'lb*'
- name: start mariadb-server
systemd:
name: mariadb-server
state: started
enabled: yes
when: ansible_fqdn is match 'lb*'
- name: grant mysql user
mysql_user:
#login_host: "localhost"
#login_user: "root"
#login_password: "123"
login_port: "3306"
name: "ty"
password: "123"
host: "%"
priv: "*.*:ALL,GRANT"
state: "present"
when: ansible_fqdn is match 'lb*'
- name: create a database
mysql_db:
#login_host: "127.0.0.1"
#login_user: "root"
#login_password: "123"
login_port: "3306"
name: "wp"
encoding: "utf8"
state: "present"
when: ansible_fqdn is match 'lb*'
- name: copy wp.sql
copy:
src: "/root/ansible/lb/wp.sql"
dest: "/root/"
when: ansible_fqdn is match 'lb*'
- name: import a database
mysql_db:
login_host: "127.0.0.1"
login_user: "root"
login_port: "3306"
name: "wp"
target: "/root/wp.sql"
state: "import"
when: ansible_fqdn is match 'lb*'
執行
1.執行base.yml
[root@m01 ~]# ansible-playbook ansible/base.yml
2.執行rsync.yml
[root@m01 ~]# ansible-playbook ansible/nfs/nfs.yml -i /root/ansible/lb/hosts