微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL的3节点主从同步复制方案测试

上接《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;

MySQL的3节点主从同步复制方案测试

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

MySQL的3节点主从同步复制方案测试

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

MySQL的3节点主从同步复制方案测试

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

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

MysqLbinlog MysqL-bin.000003|tail

MySQL的3节点主从同步复制方案测试

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

# cat master.info |more

MySQL的3节点主从同步复制方案测试

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

MySQL的3节点主从同步复制方案测试

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

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

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

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

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

MySQL的3节点主从同步复制方案测试

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

MySQL的3节点主从同步复制方案测试

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

MySQL的3节点主从同步复制方案测试

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

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

思考:

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

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

参考博客:http://www.ilanni.com/?p=7992

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐