MySQL替换节点同步数据_MySQL的3节点主从同步复制方案测试

六.测试主从同步复制

现在我们来测试下,mysql的主从同步。

1.在主库插入测试数据

先在主库MasterA 上给m_s_rep数据库插入和删除2条数据。如下:

mysql> insert into test(id,content) values(3,’data3’);

mysql> insert into test(id,content) values(2,’data2’);

mysql> select * from test;

6b393e9e89a854c8d28fba039b1f0bfd.png

2.登录MasterB查看数据同步结果

e4708838a100ab3d2d247beff1671dc5.png

3.登录Slave节点查看数据同步结果

4da1ace9903662efa17124c7a249f729.png

通过上图,我们可以看到从库slave中的m_s_rep数据库和主库master中的m_s_rep数据库,数据是一致。说明主从已经同步复制已经成功。

4.现在我们来查看MasterA的mysql-bin文件的信息

# mysqlbinlog mysql-bin.000003|tail

213416a182bd7091be81551fef588979.png

5.现在我们再来查看MasterB的master.info文件的信息

# cat master.info |more

002e0575de39c75113a70f6e5fc55bf6.png

6.现在我们再来查看Slave的master.info文件的信息

894a02f9983d197016c60945bae488bd.png

7.主从同步复制测试结束

通过测试,主库的binlog文件的pos位置节点与master.info对比。我们可以发现master.info文件中确实记录了mysql在同步复制时的binlog文件名以及pos位置节点。

七.测试互为主从同步复制

1.在MasterB的m_s_rep库中创建第二张表m_s_rep

我们来创建一张测试用表,来测试MasterA和MasterB互为主从同步测试。

2888ff9368b733755f0e0bc59fdef6fd.png

2.查看MasterA的m_s_rep库中是否已经同步m_s_table表

09746604985d6fcee927b086383367cc.png

3.查看Slave的m_s_rep库中是否已经同步m_s_table表

30fcd19985fcc4058997e705b7609e94.png

4.互为主从同步复制测试结束

至此,本方案已经全部部署测试完成,我想:“MasterA和MasterB无论那个节点宕机,仍能保证生产环境中主从的关系”。无论节点状态如何,为确保数据的一致性,MasterA和MasterB当且仅当只能有一个节点可写。其他节点可通过锁表来禁止往里写入数据,以避免出现脑裂。

思考:

如果在生产环境中,随着业务的增加,不同业务部门的数据库也在增加。那么怎么同步复制新的数据库呢?步骤如下:

MasterA和MasterB主库锁表à修改所有节点中的my.cnf配置文件,增加需要同步复制的数据库名à重启mysql服务à导出MasterA中主库数据库à仅仅在从库创建数据库名à导入MasterA主库的数据库文件到从库中à MasterA和MasterB主库解锁à自此,主库发生变化的数据也会自动同步复制到从库中。

from:https://blog.51cto.com/zkhylt/1775420

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值