mysql prox配置_mysql-proxy配置

mysql-proxy配置

【主库上】

在已有主从同步配置的基础上增加log配置项,打开“全日志”功能。

vim /etc/my.cnf

log=mysqlfull.log

service mysqld restart

cat /var/lib/mysql/mysqlfull.log

给mysqlproxy机器授权:

grant all on *.* to 'root'@'%' identified by '123123';

【从库上】

在已有主从同步配置的基础上增加log配置项,打开“全日志”功能。

vim /etc/my.cnf

log=mysqlfull.log

service mysqld restart

cat /var/lib/mysql/mysqlfull.log

给mysqlproxy机器授权:

grant all on *.* to 'root'@'%' identified by '123123';

--------------------------------------------------------------------

【搭建mysqlproxy】

tar zxf mysql-proxy-0.8.3-linux-rhel5-x86-32bit.tar.gz

mv  mysql-proxy-0.8.3-linux-rhel5-x86-32bit   /usr/local/mysql-proxy

【配置】

(1)修改主配置

cd /usr/local/mysql-proxy/

创建conf log目录

mkdir conf log

vim创建mysql-proxy.conf,加入下面的内容

vim ./conf/mysql-proxy.conf

[mysql-proxy]

#本机 监听地址 和 开启的端口,默认端口4040

proxy-address=0.0.0.0:4040

#后端mysql用户名和密码

admin-username=root

admin-password=123123

#mysql管理命令,用于对后端mysql集群中每台主机的 健康检查

admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin-sql.lua

#配置主库ip和端口

proxy-backend-addresses=192.168.20.181:3306

#配置 从 库ip和端口,有多少个从库的,就需要配置多少行

proxy-read-only-backend-addresses=192.168.20.23:3306

proxy-read-only-backend-addresses=192.168.20.24:3306

proxy-read-only-backend-addresses=192.168.20.25:3306

#读写分离lua脚本

proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua

#日志路径

log-file=/usr/local/mysql-proxy/log/mysql-proxy.log

#日志级别

log-level=debug

#启动参数,以守护进程方法启动

daemon=true

#开启keepalive,如果mysql-proxy进程异常终止后,mysql-proxy将会自动启起。

keepalive=true

(2)修改读写分配置,以方便做测试,因为客户端连接数超过到min_idle_connections后才能让读走从库, 不然读还走主库。

vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua

min_idle_connections = 1,

max_idle_connections = 2,

【启动mysqlproxy】

cd /etc/init.d/

vim mysqlproxy

#!/bin/bash

#chkconfig: - 99 23

#description: mysql_proxy

mysql_proxy_home='/usr/local/mysql-proxy'

case "$1" in

start)

$mysql_proxy_home/bin/mysql-proxy \

--defaults-file=$mysql_proxy_home/conf/mysql-proxy.conf

;;

stop)

killall -9 mysql-proxy &>/dev/null

;;

restart)

killall -9 mysql-proxy &>/dev/null

$mysql_proxy_home/bin/mysql-proxy \

--defaults-file=$mysql_proxy_home/conf/mysql-proxy.conf

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

esac

exit 0

保存退出后:

chmod +x /etc/init.d/mysqlproxy

chkconfig --add mysqlproxy

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

service mysqlproxy start

或者在cd /usr/local/mysql-proxy/下直接:  sh mysqlproxy start|stop|restart 也可以做启停操作

[root@rs1 mysql-proxy]# netstat -nlp | grep 4040

tcp        0      0 0.0.0.0:4040                0.0.0.0:*                   LISTEN      23096/mysql-proxy

【测试】

主库上:

tail -f /var/lib/mysql/mysqlfull.log

从库上:

tail -f /var/lib/mysql/mysqlfull.log

多开几个连接向mysqlproxy的4040端口做测试,连接数要大于min_idle_connections值,此处应大于2。

mysql -u root -h192.168.6.106 -P 4040 -p123123

mysql -u root -h192.168.6.106 -P 4040 -p123123

mysql -u root -h192.168.6.106 -P 4040 -p123123

**** 192.168.6.106为主库的ip地址,测试时写成自己主库的ip地址,此处不能写成127.0.0.1也不能写成localhost ****

测试select语句和create,insert语句,如果从库上只有查询(select),主库上只有写(create,update,insert)说明实验正常。

©著作权归作者所有:来自51CTO博客作者安全守望者的原创作品,谢绝转载,否则将追究法律责任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值