一、软件环境
机器1:192.168.0.108(代理机器)
机器2:192.168.0.109(数据库机器)
系统:CentOS 6.4 位
二、代理机器安装配置
1.准备软件安装文件:
libevent-2.0.21-stable.tar.gz
lua-5.1.5.tar.gz
glib-2.34.3.tar.xz
gettext-0.18.2.tar.gz
readline-6.2.tar.gz
yum -y install zlib* libffi* gcc gcc-c++ pkgconfig lrzsz xz ncurses* readline cmake
2.安装libevent
make autoconf automake libtool
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make && make install
3.安装lua
tar -zxvf readline-6.2.tar.gz
cd readline-6.2
./configure
make && make install
tar -zxvf lua-5.1.5.tar.gz
cd lua-5.1.5
vi src/Makefile(位系统必须修改)
CFLAGS= -O2 -Wall $(MYCFLAGS)
添加-fPIC
CFLAGS= -fPIC -O2 -Wall $(MYCFLAGS)
make linux
make install INSTALL_TOP=/usr/local/lua
cp etc/lua.pc /usr/local/lib/pkgconfig/
4.安装glib
tar -zxvf gettext-0.18.2.tar.gz
cd gettext-0.18.2
./configure --prefix=/usr/local/gettext
make && make install
ln -s /usr/local/gettext/bin/* /usr/local/bin/
tar -Jxvf glib-2.34.3.tar.xz
cd glib-2.34.3
./configure --prefix=/usr/local/glib
make && make install
5.安装mysql-proxy(需要mysql客户端)
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/glib/lib/pkgconfig
export LUA_CFLAGS=\"-I/usr/local/lua/include\"
export LUA_LIBS=\"-L/usr/local/lua/lib -llua -ldl\"
export LDFLAGS=\"-L/usr/local/lib -lm\"
export CFLAGS=\"-I/usr/local/lib\"
tar -zxvf mysql-proxy-0.8.5.tar.gz
cd mysql-proxy-0.8.5
./configure --prefix=/usr/local/mysql-proxy --with-lua=/usr/local/lua
--with-mysql=/usr/local/mysql
make && make install
mkdir /usr/local/mysql-proxy/conf
cp ./lib/*.lua /usr/local/mysql-proxy/conf
6.启动测试
/sbin/iptables -I INPUT -p tcp --dport 4040 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
cd /usr/local/mysql-proxy/bin
./mysql-proxy --proxy-backend-addresses=192.168.0.109:3306
--proxy-lua-script=/usr/local/mysql-proxy/conf/rw-splitting.lua
测试:mysql -h 192.168.0.108 -P 4040 -uroot -p