免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4681 | 回复: 8
打印 上一主题 下一主题

MySQL Proxy安装问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-23 09:18 |只看该作者 |倒序浏览
是需要把mysql proxy解压到 MYSQL的 datadir下么? 比如我的datadir 是 /data/mysql

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
2 [报告]
发表于 2009-11-23 10:54 |只看该作者

不是的。

它就是一个独立的程序,爱放哪放哪。配置好启动起来,端口正常监听就可以了

论坛徽章:
0
3 [报告]
发表于 2009-11-23 12:01 |只看该作者
我用下面的命令启动mysql-proxy 实验是在M-S结构上作的 ,172.16.1.19做主(MYSQL-PROXY也装在这个机器上),172.16.20.210作从服务器
mysql-proxy --proxy-read-only-backend-addresses=172.16.20.210:3306 --proxy-backend-addresses=172.16.1.19:3306 --admin-username=root --admin-password=12345 --admin-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua > /var/log/mysql-proxy/mysql-proxy.log &

我在Master上建立一个表 create table t1(id int(5),name char(10));插入一个数据 insert into t1 values(1,'master1');
这时候从服务器上立刻就同步了t1表,我在从服务器上也插入一个数据 insert into t1 values(2,'slave1');
这时候主服务器上t1表的数据应该是
+------+---------+
| id   | maste   |
+------+---------+
|    1 | master1 |
+------+---------+

而从服务器上应该是
+------+---------+
| id   | maste   |
+------+---------+
|    1 | master1 |
|    2 | slave1  |
+------+---------+

但是我登录mysql-proxy作查询 mysql -uroot -p12345 -h172.16.1.19 -P4040 得到的结果是

mysql> select * from hehe;
+------+---------+
| id   | maste   |
+------+---------+
|    1 | master1 |
+------+---------+
如果读操作被分离到172.16.20.210上的话,查询结果应该是
+------+---------+
| id   | maste   |
+------+---------+
|    1 | master1 |
|    2 | slave1  |
+------+---------+
这说明 mysql-proxy没有把读操作分离到172.16.20.210上,那么哪里错了呢?

论坛徽章:
0
4 [报告]
发表于 2009-11-23 13:33 |只看该作者
打开 debug发现好多错误,我用的是7.2版本
2009-11-23 13:32:50: (critical) proxy-plugin.c:1389: (connect_server) [string "/root/mysql-proxy/rw-splitting.lua"]:69: .address is deprecated. Use .src.name or .dst.name instead
2009-11-23 13:32:50: (critical) (read_query) [string "/root/mysql-proxy/rw-splitting.lua"]:179: .address is deprecated. Use .src.name or .dst.name instead
2009-11-23 13:32:50: (critical) proxy-plugin.c.1129: I have no server backend, closing connection
2009-11-23 13:32:50: (critical) network-mysqld.c.1188: plugin_call(CON_STATE_READ_QUERY) failed
2009-11-23 13:32:50: (critical) proxy-plugin.c.1684: (disconnect_client) [string "/root/mysql-proxy/rw-splitting.lua"]:356: .address is deprecated. Use .src.name or .dst.name instead

论坛徽章:
0
5 [报告]
发表于 2009-11-23 15:28 |只看该作者
我把脚本改了下,貌似可以运行了,但是好像还是不能实现读写分离

下面是调试信息
[connect_server] 172.16.1.111:48102
  [1].connected_clients = 0
  [1].pool.cur_idle     = 0
  [1].pool.max_idle     = 8
  [1].pool.min_idle     = 4
  [1].type = 1
  [1].state = 0
for r/w
  [1] idle-conns below min-idle
[read_query] 172.16.1.111:48102
  current backend   = 0
  client default db = test
  client username   = root
  query             = select * from hehe
yes it's non tr select
send to master
    is_slave         : false
    server default db: test
    server username  : root
    in_trans        : false
    in_calc_found   : false
    COM_QUERY       : true
[read_query] 172.16.1.111:48102
  current backend   = 0
  client default db = test
  client username   = root
  query             = select * from t_for_script
yes it's non tr select
send to master
    is_slave         : false
    server default db: test
    server username  : root
    in_trans        : false
    in_calc_found   : false
    COM_QUERY       : true

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
6 [报告]
发表于 2011-06-14 14:10 |只看该作者
回复 5# justlooks


   我也在弄这个根据很多的文档显示你的mixpool和maxpool需要都设置为1
   我遇到的问题跟你差不多。不过比你严重些,可以读写分离但是网站点两下就500了。不知道是什么问题

论坛徽章:
0
7 [报告]
发表于 2011-06-15 11:36 |只看该作者
楼主的这个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

这段信息。你改成如下:
min_idle_connections = 1,
max_idle_connections = 8,

min_idle_connections = 1代表最小MSTER连接数,超过这个数后的连接才会连到SLAVE上。默认是4,也就是说要至少连4040端口5次,才会路由到SLAVE

max_idle_connections = 8,最大连接数,没什么好说的。

论坛徽章:
0
8 [报告]
发表于 2011-06-15 11:37 |只看该作者
回复  justlooks


   我也在弄这个根据很多的文档显示你的mixpool和maxpool需要都设置为1
   我遇到的 ...
blackjack550 发表于 2011-06-14 14:10


点2下就500,什么意思??

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
9 [报告]
发表于 2011-08-11 13:26 |只看该作者
点2下就500,什么意思??
909413335 发表于 2011-06-15 11:37



    就是网站点两下,服务器web显示就报500原因就是mysql无法访问
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP