mysql基于mysql-proxy的读写分离
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/MySQL-Proxy/mysql-proxy-0.8.2-linux-glibc2.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.lu
a脚本默认有4个链接才启用分离;所以多开启几个终端;多测试几下;你也可以去修改里面的相关值来实现state全部UP.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。