欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

体验mysql

程序员文章站 2022-05-10 16:26:48
...

上周就看到了mysql-proxy出来的消息,今天下午才抽空体验了一下 1. 编译-安装 http://forge.mysql.com/wiki/MySQL_Proxy 下载mysql-proxy的代码, ./configure报错,找不到lua包,然后下lua包,再./confgure,又报 错,找不到glib,再去下glib,这次ok了,ma

上周就看到了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= admin server的ip:port,admin server是

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

状态的一些指令
--proxy-address= 代理的ip:port,默认是0.0.0.0:4040
--proxy-read-only-address= 代理的只读连接ip:port 默认0.0.0.0:4042(试了一下好像没有作用)
--proxy-backend-addresses= 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= 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一对一连接的方式