proxy 实现, proxy 可用来监视、分析或者传输他们之间的通讯。他的灵活性允许你最大限度的使用它,这些包括负载平衡、容错 、分析查询和修正,他就像一个接线员、一个中间层代理、一个连接池,把不同的请求派到相应的目的位置上
 
安装
如果没有要求可以直接用已经编译好的二进制文件解压拷贝到 /usr/local/ 目录就可以用了,也可以见下面的编译安装
[root@zzh /]# cp -r /kt/mysql-proxy-0.7.2-linux-rhel5-x86-32bit/* /usr/local/

 
源码编译安装
安装LUA
[root@zzh lua-5.1.3]# vim Makefile
进入 lua 解压目录修改下面安装目录字段
INSTALL_TOP= /usr/local/lua
 
make posix
make install
 
 
安装libevent
[root@zzh libevent-1.4.12-stable]# ./configure --prefix= /usr/local/libevent
make
make install
 
安装check
[root@zzh check-0.9.8]# ./configure
make
make install
 
 
[root@zzh /]# vim /etc/profile
设置安装mysql-proxy所需的环境变量,用完可删除
export LUA_CFLAGS="-I/usr/local/lua/include" LUA_LIBS="-L/usr/local/lua/lib -llua -ldl" LDFLAGS="-L/usr/local/libevent/lib -lm"
export CPPFLAGS="-I/usr/local/libevent/include"
export CFLAGS="-I/usr/local/libevent/include"
[root@zzh /]# source /etc/profile
使设置生效
 
 
安装mysql-proxytar
[root@zzh mysql-proxy-0.7.2 ]# ./configure -- prefix= /usr/local/mysql-proxy --with-mysql= /usr/local/mysql --with- lua
m ake
m ake install
 
 
mysql-proxy启动选项的说明:
--help-all
显示所有的帮助选项
--daemon
采用daemon方式启动
--admin-address= host: 4041
管理主机及端口,不指定 host 表示管理主机是本机
--proxy-address= host: 4040
代理服务器的监听地址及端口
--proxy-read-only-backend-addresses= host:port
只读连接时代理服务器的监听地址及端口
--proxy-backend-addresses= host:3306
重要:连接真实服务器的地址及监听端口,可监听多个服务器
--proxy-lua-script= * .lua
指定lua脚本,默认不设置
 
 
测试
在192.168.0. 10MySQL 服务器上建立远程连接用户
mysql> grant all privileges on *.* to 'kt'@'%'identified by '123456' with grant option;
 
proxy 服务器上开启监听对192.168.0. 10 服务器的代理
[root@zzh /]# mysql-proxy --proxy-backend-addresses=192.168.0. 10 :3306 &
 
[root@zzh /]# netstat -anp | grep proxy
查看服务器是否开启
[root@zzh /]# killall mysql-proxy
关闭服务
 
[root@zzh /]# mysql --host= 192.168.0. 99 -u kt --port= 4040 -p
测试连接
 
两个mysql服务器设置
[root@zzh /]# mysql-proxy --proxy-backend-addresses= 192.168.0.10:3306 --proxy-backend-addresses= 192.168.0. 20 :3306 &
 
主从复制上读写分离
一个主服务器,负责写入;2个从服务器负责查询
[root@zzh /]# mysql-proxy
--proxy-backend-addresses= 192.168.0.99 :3306
--proxy-read-only-backend-addresses= 192.168.0.10 :3306
--proxy-read-only-backend-addresses= 192.168.0.20 :3306


自:http://ktzzh.blog.51cto.com/708367/222336