当前位置: 首页 > 工具软件 > MySQL-Proxy > 使用案例 >

mysql grant proxy_mysql-proxy配置

苍志文
2023-12-01

【主库上】

在已有主从同步配置的基础上增加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 也可以做启停操作

[[email protected] 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)说明实验正常。

本文出自 “江湖笑笑生” 博客,谢绝转载!

原文:http://hashlinux.blog.51cto.com/9647696/1767346

 类似资料: