使用MySQL Proxy实现读写分离的正确操作

环境:CentOS7

本文适用于包括Docker的所有环境,Docker安装这里不在阐述。

第一步 从官网下载tar包。官网链接:https://downloads.mysql.com/archives/proxy/

a)直接在CentOS上下载的

 1 wget https://downloads.mysql.com/archives/get/p/21/file/mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz 

b)在Docker内部下载的

 1 wget https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-debian6.0-x86-64bit.tar.gz 

第二步 解压tar包

 1 tar zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz 

第三步 复制压缩包内的文件到/usr/local/mysql-proxy下,没有这个目录的自己mkdir创建

 1 mv mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy 

第四步 配置mysql-proxy的配置文件

1 cd /usr/local/mysql-proxy
2 mkdir log # 创建日志目录
3 mkdir conf # 创建配置目录
4 vim /usr/local/mysql-proxy/conf/mysql-proxy.conf

下列是配置文件的示例:

 1 [mysql-proxy]
 2 user=root
 3 admin-username=proxy
 4 admin-password=xxxxxx
 5 proxy-address=0.0.0.0:9524
 6 proxy-backend-addresses=192.168.7.107:6358
 7 # proxy-read-only-backend-addresses=192.168.7.107:6358
 8 proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
 9 admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin-sql.lua
10 log-file=/usr/local/mysql-proxy/log/mysql-proxy.log
11 log-level=info
12 daemon=true
13 keepalive=true

参数说明:

参数名称 说明
user 环境(CentOS或Docker)运行mysql-proxy服务的用户名
admin-username mysql-proxy的管理员用户名
admin-password mysql-proxy的管理员密码
proxy-address 绑定mysql-proxy所在机器的IP地址、端口(默认是4040)
proxy-backend-addresses 设置主库的IP、端口
proxy-read-only-backend-addresses (可选)设置从库的IP、端口
proxy-lua-script 指定读写分离配置文件位置
admin-lua-script 指定管理脚本
log-file 日志位置
log-level 定义log日志级别,由高到低分别有(error|warning|info|message|debug)
daemon 以守护进程方式运行
keepalive mysql-proxy崩溃时,尝试重启

第五步 修改配置文件的读写权限

 1 chmod 660 /usr/local/mysql-proxy/conf/mysql-proxy.conf  

第六步 修改读写分离的配置文件,使其更容易触发读写分离

1 vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
2 # 找到如下位置,修改注释部分,不要把中文注释放进去。
3 if not proxy.global.config.rwsplit then
4 proxy.global.config.rwsplit = {
5     min_idle_connections = 1, #默认超过4个连接数时,才开始读写分离,改为1
6     max_idle_connections = 1, #默认8,改为1
7     is_debug = false
8 }
9 end

第七步 启动mysql-proxy

 1 /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.conf & 

注:&表示在后台运行

第八步 查看mysql-proxy是否启动成功

 1 netstat -tupln | grep 9524 

注:9524端口标红找到了,就起来了

第九步 连接mysql-proxy

 1 mysql -uroot -h10.7.37.24 -P9524 -p # root是你要访问数据库的用户名,10.7.37.24是你安装mysql-proxy的机器的IP,-P9524是上面设置的mysql-proxy的端口,-p表示要输入密码。 

posted @ 2022-10-21 16:36  妙衍软设  阅读(114)  评论(0编辑  收藏  举报