MySQL读写分离学习手记一

介绍

读写分离,数据库的读和写操作分开,以对应不同的数据库服务器。主库提供写操作,从库提供读操作,这样能有效地减轻单台数据库的压力。

实现方式

通过MyCat实现上述功能,支持MySQL,也支持Oracle和SQL Server。

原理

1. Master 主库在事务提交时,会把数据变更记录在二进制日志文件 Binlog 中。

2.从库通过iothread线程读取主库中的Binlog日志文件,写入到从库的中继日志Relay Log文件中。

3.slave通过sqlthread线程,读取Relay Log文件中的事件,将改变反映它自己的数据。

准备工作:

1:10.168.5.183,安装JDK,Mycat,MySQL

2:10.168.5.194,安装MySQL

3:配置主从关系,详细配置,请参考我之前写的《MySql主从复制学习手记

https://blog.csdn.net/cthomson/article/details/125503870

配置schema.xml文件

 Balance值说明

配置server.xml文件

  Mycat启动

bin/mycat start启动mycat

bin/mycat stop停止mycat

 

 验证

因为我们现在已经做了主从设置,我们在主库进行的所有操作,都会同步到从库上,但从库进行的操作不会同步到主库上;因此,我们可以修改从库上的数据,然后再进行查询操作,通过该方式进行验证,看看我们的读写分离是否正常。

 

 

如下图所示,在mycat进行查询,可以看到,查询出来的结果是Tom1;所以,我们读写分离的读操作是从从库上读取而来的。

 

写验证:

我们在从库上插入一条数据,由于从库是不会同步到主库上的,所以,我们在mycat上增删改操作,是只能写到主库上的。

注意:

在schema.xml中如果 writeHost 指定的后端数据库宕机,那么这个 writeHost绑定的readHost 都将不可用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MuYiZi2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值