- mysql-proxy:192.168.20.109
master: 192.168.20.135
slave;192.168.20.137
2.下载msql-proxy:wget http://cdn.mysql.com/Downloads/M ... .3-x86-64bit.tar.gz
useradd -g mysql-proxy -s /sbin/nologin tar zxvf mysql-proxy-0.8.2-linux-glibc2.3-x86-64bit.tar.gz -C /usr/local mv /usr/local/mysql-proxy-0.8.2-linux-glibc2.3-x86-64bit /usr/local/mysql-proxy export PATH=$PATH:/usr/local/mysql-proxy/bin/ echo "PATH=$PATH:/usr/local/mysql-proxy/bin" >> /etc/profile
3.查看mysql-proxy --help --help-all :获取全部帮助信息;
--proxy-address=host:port :代理服务监听的地址和端口;
--admin-address=host:port :管理模块监听的地址和端口;
--proxy-backend-addresses=host:port :后端mysql服务器的地址和端口;
--proxy-read-only-backend-addresses=host:port :后端只读mysql服务器的地址和端口;
--proxy-lua-script=file_name :完成mysql代理功能的Lua脚本;
--daemon :以守护进程模式启动mysql-proxy;
--keepalive :在mysql-proxy崩溃时尝试重启之;
--log-file=/path/to/log_file_name :日志文件名称;
--log-level=level :日志级别;
--log-use-syslog :基于syslog记录日志;
--plugins=plugin:在mysql-proxy启动时加载的插件;
--user=user_name :运行mysql-proxy进程的用户;
--defaults-file=/path/to/conf_file_name : 默认使用的配置文件路径;其配置段使用[mysql-proxy]标识;
--proxy-skip-profiling : 禁用profile;
--pid-file=/path/to/pid_file_name :进程文件名;
4.mysql> grant all on *.* to root@'%' identified by '密码';
5.mysql-proxy --daemon --log-level=debug --user=mysql-proxy --keepalive --log-file=/var/log/mysql-proxy.log --plugins="proxy" --proxy-backend-addresses="192.168.182.135:3306" --proxy-read-only-backend-addresses="192.168.182.137:3306" --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="admin" --admin-password="admin" --admin-lua-script="/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua"
6.ps -ef | grep mysql-proxy 可以看到495 是mysql-proxy的核心启动进程 netstat -tlunp | grep mysql-proxy 可以看到4040是mysql-proxy的端口 4041是admin的管理端口
7.然后到slave端去验证是否能通过代理端口4040 端口连接到 mysql-proxy
8.mysql -uadmin -pyzg1314520 -h192.168.20.109 --port=4041 -padmin 验证admin的登录查看 select * from backends; 因为rw-splitting.lua脚本默认有4个链接才启用分离;所以多开启几个终端;多测试几下;你也可以去修改里面的相关值来实现state全部UP.
|