模拟部署mysql中M-S-S模型

本文详细介绍了在三台模拟机上部署MySQL主从复制及中继服务器的过程,包括环境配置、数据库同步、权限授权、错误处理等步骤。在部署过程中遇到的ERROR 3021和ERROR 3009问题,通过停止绑定、重置、升级数据库结构等方法解决。最终实现数据的正常同步。
摘要由CSDN通过智能技术生成

这次是部署M-S-S的模型,其实原理和M-S差不多,但是再部署的过程中出去先了很多的报错,让我头疼不已,最后也是完成了一次部署,就抓紧整理一下思路

首先部署环境:

xuegod63     master            mysql5.7.24       192.168.0.63
Xuegod64     slave 中继      mysql5.7.24       192.168.0.64
xuegod65      slave              mysql5.7.24       192.168.0.65
然后再三台模拟机上要安装相同版本的mysql
一、部署master主服务器(xuegod63)
1.三台模拟机都执行关闭密码强度审计插件
echo “validate-password=OFF” >>/etc/my,cnf
2.密码修改成相同的,生产环境中就按照生产上的来
set password for root@localhost = password('123456');
3.在主服务器上授权用户
grant replication slave on *.* to repl@'192.168.0.%' identified by '123456';
flush privileges; #刷新权限
4.创建相同的库,并传给其他服务器
mysqldump -uroot -p123456 -B HA>HA.sql
scp HA.sql root@192.168.0.(64.65):/root/
5.修改主服务器配置文件
log-bin=mysql-bin-master
server-id=1
binlog-do-db=HA
log-bin=mysql-bin-master
binlog-ignore-db=mysql
sync-binlog=1 #执行 N 次写入 binlog 后,与硬盘同步
binlog-format=row #binlog 保存方式,记录哪条数据被修改了

6.重启服务

[root@xuegod63 ~]# systemctl restart mysqld
二、部署slave中继服务器(xuegod64)
1.导入HA.sql到数据库(这里最好先在库里创建库,然后导入,免得出现报错)
mysql -uroot -p123456 HA<HA.sql
2.修改中继服务器的配置文件添加
server-id= 2  
log-bin=mysql-bin-slave1  #修改主配置文件也要开启 bin-log
log-slave-updates=1 #把它从 relay-log 当中读取出来的二进制日志并且这本机上执行的操作
也记录这自己的二进制日志里面,这样才能使第三台 slave 通过中继 slave 读取到相应数据变化
binlog-format=row
3.重启
systemctl restart mysqld
4.授权
 
change master  to  master_host='192.168.0.63',master_user='repl',master_password='123456';  
我这里出现了两种报错:
第一种:ERROR 3021 (HY000);需要先停止已经启动的绑定stop slave,再重置绑定reset master,再授权就不报错了
第二种:ERROR 3009 (HY000);错误是因为我之前升级过数据库,升级完后没有使用 mysql_upgrade升级数据结构造成的。所以升级一下再root下输入mysql_upgrade -uroot -p
5.启动绑定start slave;然后查看中继服务状态
 
show slave status\G

 之前这三个地方,因为没搭建好,就没有数据,现在显示正常,说明搭建成功

6.但是不要忘了给另一个slave(xuegod65)授权

grant replication slave on *.* to 'repl'@'192.168.1.%' identified by '123456';

三、部署 slave(xuegod65 主机上操作)

1.同中继一样也得先创建相同的库

mysql -uroot -p123456 HA<HA.sql

2.修改配置文件vim /etc/my.cnf

server-id = 3
log-bin=mysql-bin-slave2 #后面还可以加从数据库
binlog-format=row

3.重启mysql服务

systemctl restart mysqd 

4.指定slave中继服务作为xuegod65的主

change master to  master_host='192.168.1.64',master_user='repl',master_password='123456';

5,启动绑定start slave ,查看

show slave status\G

 这样就成功了

后面实验同步情况我就不上传了,试过确实达到了同步的效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值