mysql-proxy实现读写分离

mysql-proxy实现读写分离的前提是已经做好了mysql主从。

环境说明:
192.168.247.180 master
192.168.247.160 slave
192.168.247.192 mysq-proxy调度机
客户端(测试):192.168.247.170

系统:centos7
mysql5.6

安装mysql-proxy
mysql-proxy下载地址:mysql-proxy

cd /usr/local/src/
wget https://downloads.mysql.com/archives/get/p/21/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
mv mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit /usr/local/mysql-proxy
cd /usr/local/mysql-proxy

#创建目录
mkdir conf logs

配置环境变量:

vim /etc/profile
#增加一行
export PATH=$PATH:/usr/local/mysql-proxy/bin

#执行,生效
source /etc/profile

创建配置文件

vim conf/mysql-proxy.conf

#添加
[mysql-proxy]
user=root   //启动mysql-proxy的用户
admin-username=proxy  //这个可以不要,不要的话admin-lua-script也不要
admin-password=123457 //管理用户密码
proxy-address=0.0.0.0:3306  //mysql-proxy监听的ip和端口
proxy-read-only-backend-addresses=192.168.247.160  //只读(从)
proxy-backend-addresses=192.168.247.180  //可写或者读(主)
proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua   //读写分离脚本
admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin-sql.lua  //管理脚本
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log  //日志
log-level=debug  //日志级别
daemon=true  //后台运行
keepalive=true   //长连接

更改一下权限,不让其他人看:

chmod 660 conf/mysql-proxy.conf

编辑读写分离脚本

#注意所有的操作都是在/usr/local/mysql-proxy目录下

vim share/doc/mysql-proxy/rw-splitting.lua

if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 1,
                max_idle_connections = 1, //客户端连接超多多少个连接就开始读写分离

                is_debug = false

启动:

mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.conf 

#查看有没有相关进程
ps aux |grep mysql-proxy

在master上创建proxy用户和密码:

grant all on *.* to 'proxy'@'192.168.247.190' identified by '123457';

测试:

#客户机
mysql -uproxy -p123457 -h192.168.247.190
#做一些操作
create database wuxia;
use wuxia;
create table t1(`id` int(4),`name` char(10));
insert into user values(02,'ligen');

#在master和从上查看是否有刚刚的数据

#然后在从上,增加数据,检验可读分离
#从上
insert into t1 values(3,'wuxia');

#查看,在客户机上查看是否增加了数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值