bbs.ChinaUnix.net
首页 | 微博 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


请教:关于mysql proxy 的参数配置

  首页 » 论坛 » MySQL »
[打印] [收藏] [本帖文本页] [推荐此主题给朋友]

我在测试mysql proxy的rw-splitting.lua脚本,我发现有一段代码
-- connection pool
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 4,
                max_idle_connections = 8,

                is_debug = false
        }
end

我很想知道, proxy.global.config.rwsplit 的值从哪里来?怎么能配置连接池的参数,比如min_idle_connections ,max_idle_connections = 8

[ 本帖最后由 zyrf2001 于 2007-12-6 12:56 编辑 ]



现在我知道可以修改这个代码
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 4,
                max_idle_connections = 8,

                is_debug = false
        }
end

直接改初始值就可以,或者发送命令mysql>set Global rwsplit.is_debug = 1





QUOTE:
原帖由 zyrf2001 于 2007-12-7 15:09 发表
现在我知道可以修改这个代码
if not proxy.global.config.rwsplit then
        proxy.global.config.rwsplit = {
                min_idle_connections = 4,
                max_idle_connections = 8,
...


我使用这条代码但是还没有实现读写分离..
请教您是如何实现的..



mysql-proxy    --proxy-read-only-backend-addresses=192.168.0.77:3307 --proxy-backend-addresses=192.168.0.77:3305 --proxy-read-only-backend-addresses=192.168.0.77:3308 --proxy-lua-script=rw-splitting.lua

这样启动mysql proxy , --proxy-read-only-backend-addresses 的是从库, --proxy-backend-addresses 是主库的





QUOTE:
原帖由 zyrf2001 于 2007-12-12 15:45 发表
mysql-proxy    --proxy-read-only-backend-addresses=192.168.0.77:3307 --proxy-backend-addresses=192.168.0.77:3305 --proxy-read-only-backend-addresses=192.168.0.77:3308 --proxy-lua-script=rw-splitt ...


我使用的是自带的 --proxy-lua-script=rw-splitt.lua 但是不能读写分离啊..



可以呀。我用的也是自带的脚本。你是依据什么判定不能实现读写分离的呢?





QUOTE:
原帖由 zyrf2001 于 2007-12-13 13:09 发表
可以呀。我用的也是自带的脚本。你是依据什么判定不能实现读写分离的呢?


我在master上和slave上分别创建一个test库.然后创建test1 和test2的表.
master上和slave里面 test1 test2 的数据不一样.
我使用select * from test.test1 ;得到的是master上的数据
select * from test.test2时候得到的还是master的数据



mysql-proxy用的是sqf的负载均衡算法,默认把查询发送到第一个read-only-backend,你的脚本里master和第一read only backend都是同一台,当然就都发到master去了





QUOTE:
原帖由 voxxu 于 2007-12-17 15:16 发表
mysql-proxy用的是sqf的负载均衡算法,默认把查询发送到第一个read-only-backend,你的脚本里master和第一read only backend都是同一台,当然就都发到master去了



只要mysql监听的端口不行就可以吧!
我用不同机器试了一下也是不行

# /usr/local/mysql/bin/mysql-proxy --proxy-read-only-backend-addresses=192.168.1.122:3306 --proxy-backend-addresses=192.168.1.122:3306 --proxy-lua-script=/usr/local/mysql/proxy_lua/mysql-proxy/rw-splitting.lua &

然后用4040端口连接
# /usr/local/mysql/bin/mysql -P4040
然后按照7楼的方法也是不行啊,查询出来的数据是master上的。
__________________________________





QUOTE:
原帖由 mageguoshi 于 2007-12-27 17:47 发表


只要mysql监听的端口不行就可以吧!
我用不同机器试了一下也是不行

# /usr/local/mysql/bin/mysql-proxy --proxy-read-only-backend-addresses=192.168.1.122:3306 --proxy-backend-addresses=192.168. ...




你的脚本里master和slaver都是同一台,连端口都一样,当然都发到master了


proxy的读写分离机制是先把最初的几条查询发到master上建立连接,当发送到master上的查询数超过连接池的最小值时开始把查询发送到你脚本里排在第一位的read-only-backend,当第一个read-only处理不过来时再分发到第二个read-only


Copyright © 2001-2010 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP