配色: 字号:
mysql-proxy搭建读写分离(王兴华)
2013-08-23 | 阅:  转:  |  分享 
  
Linux安装mysql-proxy搭建读写分离平台

步骤(1):linux安装lua语言解析器

前提:下载源码包

[root@web~]#tarzxflua-5.2.0.tar.gz-C/usr/local

[root@web~]#cd/usr/local/lua-5.2.0

[root@weblua-5.2.0]#vimMakefile

修改:

INSTALL_TOP=/usr/local/lua

[root@weblua-5.2.0]#make

Pleasedo''makePLATFORM''wherePLATFORMisoneofthese:

aixansibsdfreebsdgenericlinuxmacosxmingwposixsolaris

Seedoc/readme.htmlforcompleteinstructions.

#执行make,会提示让你输入make系统平台

[root@weblua-5.2.0]#makelinux

[root@weblua-5.2.0]#makeinstall

[root@web~]#/usr/local/lua/bin/lua

Lua5.2.0Copyright(C)1994-2011Lua.org,PUC-Rio

>

错误:

gcc-O2-Wall-DLUA_COMPAT_ALL-DLUA_USE_LINUX-c-olua.olua.c

make[1]:Leavingdirectory`/root/lua-5.2.0/src''

make:[linux]Error2

如若出现以上情况执行:yuminstall-yreadline-develncurses-devel



步骤(2)安装mysql-proxy

数据库:192.168.1.121(主库)192.168.1.100(从库)

Mysql-proxy:192.168.1.121(主库)附:服务器有限,搭配在主库上

Client:客户端192.168.1.150(本地机器)

1、安装proxy主程序

>tarzxfmysql-proxy-0.8.0-linux-rhel5-x86-32bit.tar.gz-C/usr/local--解压

>cd/usr/local--进入安装目录

>mvmysql-proxy-0.8.0-linux-rhel5-x86-32bitmysql-proxy--重命名



2、修改proxy代理的lua脚本:

>cd/usr/local/mysql-proxy/share/doc/mysql-proxy

>vimrw-splitting.lua--更改读写分离参数

附:

38行min_idle_connections=1,//超过一个连接时,实现读写分离,只有一个连接时,会连接到写到192.168.7.5,超过一个则连接到7.6,在虚拟机中达到3个连接才会分离,(环境问题)

39行max_idle_connections=1,//此行不起作用



3.主从上增加数据库用户(elroy,elroy)

Master:192.168.1.121登录执行

grantallon.toelroy@"%"identifiedby"elroy";



Slave:192.168.1.100登录执行

grantallon.toelroy@"%"identifiedby"elroy";



4.测试客户端是否可以通过elroy用户连接

Client:192.168.1.150执行

Mysql-uelroy-pelroy-h192.168.1.121--登录主库

Mysql-uelroy-pelroy-h192.168.1.100--登录从库



5.启动mysql-proxy

>/usr/local/mysql-proxy/bin/mysql-proxy-P192.168.1.121:4040-r192.168.1.100:3306-b192.168.1.121:3306-s/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua&

附:

-P代理服务器IP及端口号默认端口4040

-r从服务器IP及端口号(可以指定多个从服务器)

-b主服务器IP及端口号

-s调用的脚本

如果有错误信息,执行下面语句

Pkill-9mysql-proxy

Ulimit-a

Ulimit-n10240

正确启动后,没有提示

检查时候后台启动ps-ef|grepmysql-proxy





6.实现远程连接

client执行:mysql-uelroy-pelroy-h192.168.1.121-P4040

如连接不上:在主库和从库关闭防火墙:serviceiptablesstop



7.测试读写分离

>在从库表中插入几条数据,通过mysql-proxy代理登录后进行查询此表。观察是否是从 表的数据(如果没有反应,请再开一个窗口,因为设置的大于1个连接执行读写分离)

>进入从库,slavestop关闭主从复制。然后通过mysql-proxy向表中写入数据,然后查 看是否更新。



献花(0)
+1
(本文系王老虎888首藏)