1.部署架构:
ip | 功能 |
---|---|
192.168.1.180 | 读写分离代理 |
192.168.1.162 | 主库写入操作 |
192.168.1.163 | 从库读取操作 |
2. 下载地址
https://cdn.mysql.com/archives/mysql-proxy/mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
3. 配置脚本
[root@basenode module]# vi /etc/mysql-proxy.cnf
[mysql-proxy]
# 运行mysql-proxy用户
user=root
# mysql-proxy连接后端mysql服务器的用户
admin-username=root
# mysql-proxy连接后端mysql服务器的密码
admin-password=123456
# 代理的监听地址端口,默认端口4040
proxy-address=192.168.1.180:13306
#指定后端主master写入数据
proxy-backend-addresses=192.168.1.162:3306
#指定后端从slave读取数据
proxy-read-only-backend-addresses=192.168.1.163:3306
#指定读写分离配置文件位置
proxy-lua-script=/opt/module/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/rw-splitting.lua
#日志位置
log-file=/var/log/mysql-proxy.log
#定义log日志级别,由高到低分别有(error|warning|info|message|debug)
log-level=debug
#以守护进程方式运行
daemon=true
#mysql-proxy崩溃时,尝试重启
keepalive=true
3.1 修改配置文件的权限
chmod 660 /etc/mysql-proxy.cnf
3.2
修改配置 #默认是 4 最大 8个连接 最小4个连接才能生效 测试阶段修改为1
修改路径为: /opt/module/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy
ocal commands = require("proxy.commands")
local tokenizer = require("proxy.tokenizer")
local lb = require("proxy.balance")
local auto_config = require("proxy.auto-config")
--- config
--
-- connection pool
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
#默认是 4 最大 8个连接 最小4个连接才能生效 测试阶段修改为1
min_idle_connections = 1,
max_idle_connections = 8,
is_debug = false
}
4. 启动
[root@basenode bin]# pwd
/opt/module/mysql-proxy-0.8.5-linux-el6-x86-64bit/bin
[root@basenode bin]#
[root@basenode bin]# ./mysql-proxy --defaults-file=/etc/mysql-proxy.cnf
5. mysql 的代理连接
连接后 master(192.168.1.162) 库写入 操作slave(192.168.1.163)库读取操作