使用playbook实现一键部署mysql数据库
Posted 看萝卜在飘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用playbook实现一键部署mysql数据库相关的知识,希望对你有一定的参考价值。
环境
主机名 | 安装服务 | 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
以上是关于使用playbook实现一键部署mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章