首先画图一张,用来展示今天要做的事情,读写分离,个人理解就是使用mysql主从备份的原理,让两个数据库同时为自己提供服务。其中主库负责数据保存,从库负责数据展示,可以一主一从,也可以一主多从。从而降低数据库同时处理读写的压力。
1、环境如下
master 10.10.101.83
slave 10.10.101.184
2、接着搭建数据库备份,使用的是centos7.4+mariadb
2-1-两台服务器安装Mariadb数据库
(ps:mariadb是免费版的mysql,操作很相似,注意,两台服务器都安装)
yum install mariadb mariadb-server -y
2-2-两台服务器启动mariadb服务
systemctl start mariadb
mariadb默认处于一种类似调试模式的模式当中,不用密码也可以登录,所以现在两台服务器的mariadb要使用工作模式
mysql_secure_installation
master端操作
进行授权
grant replication slave on *.* to "root"@"%" identified by "123" with grant option;
刷新授权表
flush privileges;
创建要备份的数据库和表
导出数据库
mysqldump -h localhost -u root -p123 qshop > qshop.sql
通过scp命令将qshop.sql传递到slave上
scp qshop.sql root@10.10.101.184:/opt/
slave端操作
客户端创建要备份的qshop库
导入传递过来时qshop数据库
查看效果
开始备份
关闭两台服务器的防火墙和selinux
修改配置文件
master
保存,退出,重启mysql服务
slave
保存,退出,重启mysql服务
查看master端状态
在slave端进行编写备份命令
change master to master_host="10.10.101.83",master_user="root",master_password="123",master_log_file="mysql-bin?.000004",master_log_pos=245;
启动备份
查看备份状态
测试备份
salve端
master端插入
slave端已经同步可以查询