软件下载:https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz
1. 解压:tar zxvf mysql-proxy /usr/local/mysql-proxy
2. vi /etc/profile:环境变量声明 直接调用命令
export PATH=$PATH:/usr/local/mysql-proxy/bin/
3. 让/etc/profile 生效:source /etc/profile ---- 重新加载
4. 配置 mysql-proxy :vi mysql-proxy.sh
mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="192.168.1.14:3306" --proxy-read-only-backend-addresses="192.168.1.15:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"
注释:
--user=mysql-proxy : 用mysql-proxy这个用户启动
--keepalive : 保持重启
--log-file=/var/log/mysql-proxy.log:日志文件路径
--plugins="proxy":插件的名字 "
--proxy-backend-addresses="192.168.1.14:3306" : 配置主库写数据库IP
--proxy-read-only-backend-addresses="192.168.1.15:3306" :配置读数据库IP
--proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" : lua代理脚本的位置
--plugins=admin :插件的名称
--admin-username="admin" :管理中间件的用户名
--admin-password="admin" :管理中间件的密码
--admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua" :lua脚本位置
5. useradd -r mysql-proxy:创建用户
6. 查看端口:netstat -tnl 4040是proxy端口 ----- 数据端,可以直接操作数据库 4041是管理端口 --- 代理端,不能操作数据库
程序不再访问3306端口,而是访问4041端口
mysql -h(mysql-prox服务器的IP) -uadmin -p -P 4041:登入代理服务器的管理端口
select * from backends; ----- 查看当前,读写服务器的状态
程序直接访问的数据端口:mysql -h(mysql-prox服务器的IP) -uroot -p -P 4040
注意事项,主从数据库要对 mysql-proxy服务器授权
常见问题
1. 如果mysql_proxy数据端操作,没有同步数据:检查slave从库 的状态 是否 跟master bin-log保持一致,关闭slave 再与master保持标记位一致
网友评论