文档章节

mysql 5.7+mysql-proxy 0.8.5 读写分离

dml124
 dml124
发布于 2018/01/14 01:28
字数 472
阅读 530
收藏 13

主从环境:

 

操作系统:CentOS6.5_x64

主服务器Master:192.168.0.103

从服务器Slave:192.168.0.105

调度服务器MySQL-Proxy:192.168.0.104

一、mysql主从复制

这里就省略了,请参考 http://blog.jobbole.com/94595/

二、mysql-proxy实现读写分离

1、安装mysql-proxy

实现读写分离是有lua脚本实现的,现在mysql-proxy里面已经集成,无需再安装

下载:http://dev.mysql.com/downloads/mysql-proxy/

wget --no-check-certificate https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

tar zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

mv mysql-proxy-0.8.5-linux-el6-x86-64bit /software/mysql/mysql-proxy

2、配置mysql-proxy,创建主配置文件

[mysql-proxy]

#运行mysql-proxy系统用户

user=root

#主从mysql共有的用户

admin-username=proxy

#用户的密码

admin-password=123456

#mysql-proxy运行ip和端口,不加端口,默认4040

proxy-address=192.168.0.104:4040

#指定后端从slave读取数据

proxy-read-only-backend-addresses=192.168.0.105

#指定后端主master写入数据

proxy-backend-addresses=192.168.0.103

#指定读写分离配置文件位置

proxy-lua-script=/software/mysql/mysql-proxy/lua/rw-splitting.lua

#指定管理脚本

admin-lua-script=/software/mysql/mysql-proxy/lua/admin-sql.lua

#日志位置

log-file=/software/mysql/mysql-proxy/logs/mysql-proxy.log

#定义log日志级别,由高到低分别有(error|warning|info|message|debug)

log-level=info

#以守护进程方式运行

daemon=true

#mysql-proxy崩溃时,尝试重启

keepalive=true

 

3.修改读写分离配置文件

vi /usr/local/mysql-proxy/lua/rw-splitting.lua

if not proxy.global.config.rwsplit then

proxy.global.config.rwsplit = {

  min_idle_connections = 1, #默认超过4个连接数时,才开始读写分离,改为1

  max_idle_connections = 1, #默认8,改为1

  is_debug = false

}

end

4.开启服务器mysql-proxy 端口

修改iptables

vi /etc/sysconfig/iptables

添加红色部分

5.创建授权主从MySQL服务用户给proxy,这个用户和密码要主从一致

登录进入主和从

grant all on *.* to 'proxy'@'192.168.0.104' identified by '123.com';

6.启动mysql-proxy

/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf

查看是否启动

netstat -tupln | grep 4000 #已经启动

tcp 0 0 192.168.0.204:4000 0.0.0.0:* LISTEN 1264/mysql-proxy

关闭mysql-proxy使用:killall -9 mysql-proxy

7.测试proxy是否启动成功

mysql -u proxy -h 192.168.0.104 -P 4000 -p123.com

© 著作权归作者所有

dml124
粉丝 5
博文 89
码字总数 41971
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

mysql-proxy实现读写分离

准备工作 将mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz上传至/usr/local/src MySQL服务器1:192.168.3.141 MySQL服务器2:192.168.3.142 MySQL-Proxy服务器:192.168.3.140 解压压缩......

iron_will
2016/05/14
209
0
MySQL5.5读写分离之mysql-proxy

通常一个网站在初期访问量都比较小,所以一般的小架构足以支撑。但是,当网站逐渐发展起来后,随之而来的是大量的访问,这时候最先出现的瓶颈就是数据库了。因为数据的写入读取操作(I/O)是...

抓住风筝绳
2017/04/26
0
0
mysql集群(二)

4、mysql-proxy完成负载均衡与读写分离 1、基于程序代码内部实现 在代码中对select操作分发到从库;其它操作由主库执行;这类方法也是目前生产环境应用最广泛,知名的如DISCUZ X2。优点是性能...

我心中有猛狗
2016/05/30
73
2
mysql 读写分离mysql-proxy 代理

mysql-proxy 是一个mysql代理程序,主要目的实现mysql的读写分离 是通过lua脚本来实现 软件版本:mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz 这是一个通用的二进制安装包,下载地址:https...

胡子叭槎
2016/11/11
306
0
mysql 主从分离 读写分离(mysql-proxy)

mysql主备同步: dd1主:yum install mysql-server -y vim /etc/my.cnf server-id=1 log-bin=mysql-bin 启动二进制日志系统 binlog-do-db=test 需要同步的数据库 binlog-ignore-db=mysql 禁止......

当当要加油
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在PHP中定义一个空对象

用一个新的数组,我这样做: $aVal = array();$aVal[key1][var1] = "something";$aVal[key1][var2] = "something else"; 对象有类似的语法吗 (object)$oVal = "";$oVal->key1->var1 =......

javail
7分钟前
3
0
从centos服务器上导出项目,记录一次做憨批的工作记录

遇到一个客户,说要从他的centos上导出网站和数据库,以前操作centos都是直接putty上shell,装宝塔,然后面板操作就完事儿了.然后遇到这种dos操作linux,还是第一次. 首先xshell,登录上去后,安装一...

老bia同学
10分钟前
27
0
Linuxprobe第五天

shell命令脚本 一个完整的shell脚本 脚本声明 #!/bin/bash 脚本注释 #xusikkwusxshuusnxu 脚本命令 ls pwd 1、接收参数 2、判断参数 3、流程控制 && 若前面成功,则执行后面 || 若前面失败,...

nt狮子男人
15分钟前
13
0
array_map,array_walk和array_filter之间的区别

array_map , array_walk和array_filter之间究竟有什么区别。 我从文档中看到的是,您可以传递一个回调函数来对提供的数组执行操作。 但我似乎没有发现它们之间有任何特别的区别。 他们做同样...

技术盛宴
23分钟前
41
0
MySQL字符串截取的4个函数

1、从左开始截取字符串 left(str, length) 说明: left(被截取字段,截取长度) 例如: select left(content,200) as abstract from my_content_t 从左边(字符串开始位置)截取指定长...

fairy1674
今天
92
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部