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
    make
    make 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