码迷,mamicode.com
首页 > 数据库 > 详细

使用mysql proxy对数据库进行读写分离

时间:2017-05-28 00:25:50      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:deb   ons   nec   安装mysql   connect   java   pre   code   not   

服务器安排如下:

192.168.100.128 主

192.168.100.129 从

192.168.100.130 mysql-proxy

 

1、在100.130中下载安装mysql-proxy

tar -zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
cp mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy

2、配置环境变量

LUA_PATH="/usr/local/mysql-proxy/share/doc/mysql-proxy/?.lua"
export LUA_PATH
PATH=$PATH:/usr/local/mysql-proxy/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH HADOOP_HOME LUA_PATH

保存退出后

source /etc/profile 

3、修改mysql proxy的读写分离脚本的配置

vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
if not proxy.global.config.rwsplit then

            proxy.global.config.rwsplit = {

                    min_idle_connections = 1,  // 改为1

                    max_idle_connections = 2,  // 改为2

 

                    is_debug = false

            }

    end

默认最小4个(最大8个)以上的客户端连接才会实现读写分离, 现改为最小1个最大2个,便于读写分离的测试

4、在100.128,100.129为代理创建用户

mysql>grant all on *.* to test@192.168.100.130 identified by 321321; 
mysql>flush privileges;

5、启动mysql-proxy

vim /usr/local/mysql-proxy/mysql-proxy.sh   // 新建一个shell文件,加入以下内容

内容如下

mysql-proxy --daemon --log-level=debug --log-file=/var/log/mysql-proxy.log --plugins=proxy -b 192.168.100.128:3306 -r 192.168.100.129:3306 --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin --admin-username="test" --admin-password="321321" --admin-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"

注意,在“/usr/local/mysql-proxy/share/doc/mysql-proxy/”目录中默认没有admin.lua文件但是有admin-sql.lua,

cp admin-sql.lua admin.lua

启动

 ./mysql-proxy.sh

 

需要注意的是用户权限及防火墙关掉

使用mysql proxy对数据库进行读写分离

标签:deb   ons   nec   安装mysql   connect   java   pre   code   not   

原文地址:http://www.cnblogs.com/lvlv/p/6914789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!