基于主从复制的mysql的读写分离

本文介绍如何配置MySQL的主从复制,并通过mysql-proxy实现读写分离。包括安装配置mysql-proxy、设置监听地址及后端地址、配置lua脚本等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先配置mysql的主从复制,并对管理员有远程登陆权限
mysql的主从复制
在server7上下载并安装mysql-proxy

tar zxf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
mv mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy
cd /usr/local/mysql-proxy/
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql-proxy/bin
source ~/.bash_profile
mkdir conf
vim mysql-proxy.conf
[mysql-proxy]
user=root
proxy-address=0.0.0.0:3306   # 监听所有主机
proxy-backend-addresses=172.25.11.6:3306 # master的ip
proxy-read-only-backend-addresses=172.25.11.5:3306 # slave的ip
proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua   # lua脚本路径
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log # 日志路径
log-level=debug
daemon=true
keepalive=true
chmod 660 mysql-proxy.conf
cd share/doc/mysql-proxy/
 vim rw-splitting.lua 
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 1, # 更改最大、最小连接数,以便测试
                max_idle_connections = 2,

                is_debug = false
        }
end
mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.conf
netstat -antlp

这里写图片描述
物理机远程连接proxy

mysql -h 172.25.11.7 -u root -p  # 上面的最大、最小连接数为1,2则建议至少连接三次才会实现读写分离
在master安装lsof,查看连接
lsof -i :3306

连接两次之后主上不会再进行连接,第三次会连接在从上
这里写图片描述
这里写图片描述
在第三次连接之后插入数据,在master上查看数据,验证是否实现读写分离。
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值