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



请教:关于mysql proxy 的参数配置
首页 » 论坛 » MySQL »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
zyrf2001
精灵王




CU编号: 133855
注册:2004-2-17
最后登录: 2009-07-04
帖子:295
精华:0

可用积分:325 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...在线...

[个人空间] [短信] [博客]


1楼 发表于 2007-12-5 21:42 

我在测试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 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]
zyrf2001
精灵王




CU编号: 133855
注册:2004-2-17
最后登录: 2009-07-04
帖子:295
精华:0

可用积分:325 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...在线...

[个人空间] [短信] [博客]


2楼 发表于 2007-12-7 15:09 

现在我知道可以修改这个代码
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



您对本贴的看法:鲜花[0] 臭蛋[0]
thematice
侠客




CU编号: 605369
注册:2007-8-20
最后登录: 2009-06-25
帖子:44
精华:0

可用积分:55 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2007-12-12 00:09 



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,
...

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



您对本贴的看法:鲜花[0] 臭蛋[0]
zyrf2001
精灵王




CU编号: 133855
注册:2004-2-17
最后登录: 2009-07-04
帖子:295
精华:0

可用积分:325 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...在线...

[个人空间] [短信] [博客]


4楼 发表于 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-splitting.lua

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



您对本贴的看法:鲜花[0] 臭蛋[0]
thematice
侠客




CU编号: 605369
注册:2007-8-20
最后登录: 2009-06-25
帖子:44
精华:0

可用积分:55 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2007-12-12 22:53 



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 但是不能读写分离啊..



您对本贴的看法:鲜花[0] 臭蛋[0]
zyrf2001
精灵王




CU编号: 133855
注册:2004-2-17
最后登录: 2009-07-04
帖子:295
精华:0

可用积分:325 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...在线...

[个人空间] [短信] [博客]


6楼 发表于 2007-12-13 13:09 

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



您对本贴的看法:鲜花[0] 臭蛋[0]
thematice
侠客




CU编号: 605369
注册:2007-8-20
最后登录: 2009-06-25
帖子:44
精华:0

可用积分:55 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2007-12-17 15:12 



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的数据



您对本贴的看法:鲜花[0] 臭蛋[0]
voxxu   帅哥
精灵王




CU编号: 280862
注册:2005-6-15
最后登录: 2009-07-03
帖子:274
精华:2

可用积分:429 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


8楼 发表于 2007-12-17 15:16 

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



您对本贴的看法:鲜花[0] 臭蛋[0]
mageguoshi   帅哥
光明使者



CU编号: 196107
注册:2004-11-4
最后登录: 2009-07-03
帖子:878
精华:0

可用积分:876 (丰衣足食)
信誉积分:115
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2007-12-27 17:47 



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上的。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


voxxu   帅哥
精灵王




CU编号: 280862
注册:2005-6-15
最后登录: 2009-07-03
帖子:274
精华:2

可用积分:429 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2007-12-28 09:56 



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



您对本贴的看法:鲜花[0] 臭蛋[0]

首页 » 论坛 » MySQL »


 


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

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

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.067216 second(s), 4 queries , Gzip enabled