mysql proxy安装配置,MySQL Proxy安装和配置指南

January 15, 2012

YY.K

本帖最后由 lqph3387 于 2010-12-9 09:12 编辑

一,环境如下:

1、MySQL Proxy 安装地址:192.168.1.210 (简称A)

2、MySQL 主服务器地址:192.168.1.212(简称B)

3、MySQL 从服务器地址192.168.1.216(简称C)

如果目前B和C是Master-Slave模式(可以先在C上停止STOP SLAVE,不然等会在过程中我们往主库写数据的时候无法区分究竟是写到B还是C了,因为即使写到B机器上,我们在C机器上也能看到,因为通过replaction已经同步到C了,停掉slave的话,这样SQL语句一下子就看出来从哪里来的,让看众觉得有点啰嗦了

2012011511505133.gif )

二,安装

下载已经编译好的安装包,或者预编译安装包均可,在这里,使用预编译版本

[[email protected] ~]#  tar zxf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz

[[email protected] ~]#  cd mysql-proxy-0.6.0-linux-rhas4-x86

#可以看到有2个目录

[[email protected] mysql-proxy-0.6.0-linux-rhas4-x86]# ls

sbin  share

[[email protected] mysql-proxy-0.6.0-linux-rhas4-x86]# mv sbin/mysql-proxy /usr/local/sbin/

[[email protected] mysql-proxy-0.6.0-linux-rhas4-x86]# ls share

mysql-proxy         tutorial-constants.lua  tutorial-packets.lua     tutorial-rewrite.lua  tutorial-warnings.lua

tutorial-basic.lua  tutorial-inject.lua     tutorial-query-time.lua  tutorial-states.lua

#将lua脚本放到/usr/local/share下,以供启动脚本使用

[[email protected] mysql-proxy-0.6.0-linux-rhas4-x86]# mv share/mysql-proxy /usr/local/share/

[[email protected] mysql-proxy-0.6.0-linux-rhas4-x86]# strip /usr/local/sbin/mysql-proxy

三. 启动

编辑一下启动管理脚本:

[[email protected] ~]# vim /etc/init.d/mysql-proxy

#!/bin/sh

export LUA_PATH=/usr/local/share/mysql-proxy/?.lua

mode=$1

if [ -z "$mode" ] ; then

mode="start"

fi

case $mode in

'start')

mysql-proxy --daemon \

--admin-address=192.168.1.210:4401 \

--proxy-address=192.168.1.210:3307 \

--proxy-backend-addresses=192.168.1.212:3306 \   主库

--proxy-read-only-backend-addresses=192.168.1.216:3306 \   从库

--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua

#限制192.168.1.212为可写,192.168.1.216为只读

;;

'stop')

killall mysql-proxy

;;

'restart')

if $0 stop ; then

$0 start

else

echo  "retart failed!!!"

exit 1

fi

;;

esac

exit 0

解释一下启动脚本:

--daemon 采用daemon方式启动

--admin-address=192.168.1.210:4401 指定mysql proxy的管理端口,在这里,表示本机的4401端口

--proxy-address=192.168.1.210:3307 指定mysql proxy的监听端口,也可以用 127.0.0.1:3307 表示

--proxy-backend-addresses=192.168.1.212:3306 指定写库mysql主机的端口

--proxy-read-only-backend-addresses=192.168.1.216:3306 指定只读的mysql主机端口

--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua 指定lua脚本,在这里,使用的是rw-splitting脚本,用于读写分离

想查看完整的mysql-proxy 参数可以运行以下命令查看:mysql-proxy  --help-all

运行以下命令启动/停止/重启mysql proxy:

[[email protected] ~]# /etc/init.d/mysql-proxy start

[[email protected] ~]# /etc/init.d/mysql-proxy stop

[[email protected] ~]# /etc/init.d/mysql-proxy restart

四,使用MySQL Proxy

分别在192.168.1.212和192.168.1.216上安装mysql数据库,启动并添加一个用户

mysql>grant all privileges on test.* to [email protected]'%' identified by '123456';

在192.168.1.212的test数据库建立一个表hr

create table hr(id int(5),address char(255));

在192.168.1.216的test数据库建立一个表hr

create table hr(id int(5),name char(255));

两个表名字一样却有不同的字段。

在192.168.1.210上启动mysql-proxy

/etc/init.d/mysql-proxy start

[[email protected] ~]# mysql -uabc -p123456 -h192.168.1.210 -P3307 test

对表进行查询

mysql> desc hr;

出现的表描述是C上的结构就对了。

对数据进行写操作

mysql> create table hr_boy(id int(5),name char(255));

然后去B上看看,如果B上多了一张表就对了

五,其他

mysql proxy还可以实现连接池的功能,因此,有了mysql proxy,就可以不用再担心连接数超限的问题了。

如果使用rw-splitting.lua脚本的话,最好修改以下2个参数的默认值:

min_idle_connections = 1

max_idle_connections = 3

none

本文固定链接MySQL Proxy安装和配置指南,你还可以查看Linux目录下的所有文章,

转载请声明文章来自Kvm.la。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值