mysql proxy 安装配置_mysql-proxy安装配置

mysql-proxy安装配置

bb7df59fce66ec6020f22c49c863557d.png

MySQL-Proxy地址:192.168.10.103

MYSQL主库地址:192.168.10.104

MYSQL从库地址:192.168.10.105

安装过程:

1.先安装lua

Lua 是一个小巧的脚本语言。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。

一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

先安装可能的依赖包

[root@jia3 ~]# yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool* flex* pkgconfig*  libevent* glib* readline-devel

[root@jia3 ~]# mkdir /opt/install/

[root@jia3 ~]# cd /opt/install/

[root@jia3 install]# wget http://www.lua.org/ftp/lua-5.1.4.tar.gz

[root@jia3 install]# tar zxvf lua-5.1.4.tar.gz

[root@jia3 install]# cd lua-5.1.4

[root@jia3 install]# make linux

此时如果出现

lua.c:67:31: fatal error: readline/readline.h: No such file or directory

说明缺少libreadline-dev依赖包

安装并配置环境变量

[root@jia3 install]# make install

[root@jia3 install]# export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm"

2.下载mysql-proxy的安装包 mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz 解压安装

[root@jia3 install]# tar zxvf  mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

[root@jia3 install]# mkdir /opt/mysql-proxy/

[root@jia3 install]# cp /opt/install/mysql-proxy-0.8.5-linux-el6-x86-64bit/* /opt/mysql-proxy/

[root@jia3 install]# cd /opt/mysql-proxy/

[root@jia3 install]# export PATH=$PATH:/opt/mysql-proxy/bin/

拷贝lua脚本/opt/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua到/opt/mysql-proxy/下,并修改脚本内容:

min_idle_connections = 4,

max_idle_connections = 8,

这里的4、8是指定链接数,在做试验时可以调整为1。

在主从配置OK的情况下,可以启动mysql-proxy。(可以通过./mysql-proxy --help-all查看支持的选项)

下面两种启动参数一样,只不过指定时一种使用简写

[root@jia3 bin]# ./mysql-proxy --proxy-address=192.168.10.103:3306 --proxy-read-only-backend-addresses=192.168.10.105:3306 --proxy-backend-addresses=192.168.10.104:3306 --proxy-lua-script=/opt/mysql-proxy/rw-splitting.lua --daemon --user=nobody --log-level=debug --log-use-syslog

[root@jia3 bin]# ./mysql-proxy -P 192.168.10.103:3306 -r 192.168.10.105:3306 -b 192.168.10.104:3306 -s /opt/mysql-proxy/rw-splitting.lua --daemon --user=nobody --log-level=debug --log-use-syslog

-P 决定mysql用那个接口进行连接,指定mysql-proxy工作的时候允许访问的IP和接口

-r 只读的后端服务器 192.168.10.105

-b 读写的后端服务器 192.168.10.104

-s 工作的时候指定脚本的位置和名称,默认是没有的

版本小于5.1.12,会出现bug,要加上-bug

--deamon 以一个服务的形式去启动

什么算服务:被定义为服务的进程是没有终端的,不依赖于用户的终端。终端关掉,服务还是可以正常运行的

在mysql主104(192.168.10.104)从(192.168.10.105)上都要创建用户。是远程连接,要授予远程连接的权限

mysql> grant all on *.* to proxy@'%' identified by 'proxy123';

3.然后使用proxy用户连接mysql-proxy来测试proxy-address=192.168.10.103:3306 读写分离。

经过测试,读写是分离的。

测试遇到的小问题:当有多个只读的库(即一主多从时),读只读某一个从库,而没有轮询。

猜想问题在lua脚本中,待学会lua脚本后再做深入。(也可能是我测试的方法有问题,直接命令行执行mysql -e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值