体验mysql-proxy

上周就看到了mysql-proxy出来的消息,今天下午才抽空体验了一下

1. 编译-安装

http://forge.mysql.com/wiki/MySQL_Proxy下载mysql-proxy的代码,

./configure报错,找不到lua包,然后下lua包,再./confgure,又报

错,找不到glib,再去下glib,这次ok了,make下来生成了一个

mysql-proxy的可执行文件,执行一下./mysql-proxy --help有help信息

输出,这一步搞定,看了一下文档,依赖的包:

libevent  lua glib mysqlclient

2. 运行,配置

主页上有个getting started,粗看了一遍,没有配置文件,就一个mysql

-proxy可执行文件加上执行参数(比较爽),

主要的执行参数:
  --admin-address=<ip:port>   admin server的ip:port,admin server是

一个伪代理,可以用mysql客户端连过来,但只支持一些特殊的查看proxy

状态的一些指令
  --proxy-address=<ip:port>     代理的ip:port,默认是0.0.0.0:4040
  --proxy-read-only-address=<ip:port>     代理的只读连接ip:port 默认0.0.0.0:4042(试了一下好像没有作用)
  --proxy-backend-addresses=<ip:port>     db server的地址,默认是127.0.0.1:3306,可以指定多个来做failover和load balance
  --proxy-profiling                       enable profiling of queries (没试)
  --proxy-fix-bug-25371                   fix bug #25371 (mysqld > 5.1.12) for older libmysql versions (没试)
  --proxy-lua-script=<file>               lua脚本文件

运行./mysql-proxy --admin-address=127.0.0.1:4041 &,这样代理服务器运行在4040端口,admin服务器在

127.0.0.1:4041,转发db server为127.0.0.1:3306,没有lua-script

然后运行mysql --host 127.0.0.1 --port 4040

show database; use mysql; select user,代理工作正常。

 3. 持续工作

-学习lua脚本

-测试多个backend时候的failover 和load balance的行为

-如何使用lua来实现后端多个切分的数据库对前端client的透明(用proxy的主要目的)

-如何达到client-proxy大量连接 proxy-db少量连接,来增加db的并发能力,目前看

好像是client-proxy-db一对一连接的方式


 

 

你可能感兴趣的:(mysql,工作,脚本,lua)