从零开始java数据库篇(四):主从复制,复制一致性(msyql-proxy)

本文介绍了如何使用MySQL Proxy实现主从复制和读写分离,详细阐述了安装配置过程,以及通过示例展示了其在解决数据一致性延迟问题上的应用。同时,讨论了常见解决方案的不足,并提出了一些实际场景下的优化建议。
摘要由CSDN通过智能技术生成

目录

 

 一:mysql的中间件

二:环境准备

三:Mysql-proxy的安装与读写分离

1.解压的目录

2.下载压缩包,解压到某一个文件夹下(我的解压路径:/home/monxz/Desktop/system/mysql_proxy)

3.配置conf文件,声明读写库(在bin的同级目录下新建一个conf目录,并在其中添加msyql-proxy.cnf)

 4.修改分库读写文件( /share/doc/msyql-proxy/rw-spliting.lua)

5.启动服务(指向创建的msqyl-conf.cnf启动)

 6.查看进程

7.测试

(8)总结

四:中间件解决数据复制延迟不一致的问题

(1)网上的大部分的解决方案-不合理

(2)基于实际场景去合理方案


 一:mysql的中间件

  在前文我们提到过分库分表产生的事务以及查询问题。其中事务可以通过多种框架实现,而跨库跨表查询可以借助Mysql的中间件来实现SQL改写。

  这篇主要是mysql的中间件:mysql-proxy。

二:环境准备

在第(二)节中,我们配置了2个数据库,  其中3306为主库写库,3307为从库读库。

                             

三:Mysql-proxy的安装与读写分离

我们主要以ubuntu系统上的docker来安装的。

1.解压的目录

            

 

2.下载压缩包,解压到某一个文件夹下(我的解压路径:/home/monxz/Desktop/system/mysql_proxy)

tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz

3.配置conf文件,声明读写库(在bin的同级目录下新建一个conf目录,并在其中添加msyql-proxy.cnf)

[mysql-proxy]
admin-username=proxy              #navcat登录时的账号
admin-password=123456             #navcat登录时的密码
proxy-read-only-backend-addresses=192.168.36.132:3307     #读库
proxy-backend-addresses=192.168.36.132:3306             #鞋库
admin-lua-script=/home/monxz/Desktop/system/mysql_proxy/mysql-proxy/lib/mysql-proxy/lua/admin.lua                         #允许可视化登录
proxy-lua-script=/home/monxz/Desktop/system/mysql_proxy/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua                    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值