Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4825618
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类: Mysql/postgreSQL

2011-02-11 17:06:31

                      Mysql-proxy安装使用

一、必备软件:
1
LUA
  
可以去LUA的官方下载:

2MySQL Proxy

   这里有好多二进制版本。

 http://dev.mysql.com/downloads/mysql-proxy/#downloads

我这里下载的是suse的二进制版本

 

二、测试主机地址:
1
MySQL Proxy 安装地址:10.163.164.216 (简称A)
2
MySQL 服务器地址:10.163.164.217 (简称B)/ 10.163.164.218 (简称C)
三、安装体验
如果是按照二进制包安装的,跳过这一步。
1
LUA的安装
Tencent:#tar zxvf lua-5.1.2.tar.gz  -C /usr/local
Tencent:# cd /usr/local/
Tencent:# mv lua-5.1 lua
Tencent:# cd lua
Tencent:#make local;make install;
   
导出环境变量:

Tencent:#export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm"
2
MySQL Proxy 安装   

Tencent:#tar -zxvf mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz -C /usr/local/mysql/

Tencent:#cd /usr/local/mysql
Tencent:#mv mysql-proxy-0.6.1-linux-rhel4-x86-32bit/ mysql-proxy
Tencent:# export PATH=$PATH:/usr/local/mysql/mysql-proxy/sbin/

 

上面的两个环境变量,最好放在/etc/profile里面,这样免得终端关闭后环境变量就失效了,下次还要设置

 

3. 启动

 

Tencent:/data/wsj/mysql-proxy # cat test.lua

function read_query( packet )

    print("read_query: connection.backend_ndx: ", proxy.connection.backend_ndx)

end

Tencent:/data/wsj/mysql-proxy # mysql-proxy --proxy-address=10.163.164.216:13306 --proxy-backend-addresses=10.163.164.216:3306 --proxy-backend-addresses=10.163.164.217:3306   --proxy-lua-script=./test.lua --admin-username='test'  --admin-password='test'  --admin-lua-script=./test.lua &

 

4.启动两个终端连接mysql

Tencent:~ # mysql -usecutcs -ptcs2009@secu -h10.163.164.216 -P13306 test

使用mysql-proxy的端口

在开启mysql-proxy的地方可以看到:

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     1

read_query: connection.backend_ndx:     2

read_query: connection.backend_ndx:     2

read_query: connection.backend_ndx:     2

 

简易的实现了mysql的轮询

阅读(5164) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

ubuntuer2011-02-15 23:12:02

Ext3grep –restore-file filename