首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL-代理负载平衡器问题

MySQL-代理负载平衡器问题
EN

Stack Overflow用户
提问于 2014-05-05 00:39:13
回答 1查看 1.9K关注 0票数 3

我尝试配置mysql-proxy 0.8.2。它背后有两台主机:M1 (10.10.10.1)和M2 (10.10.10.2)。

M1M2之间存在MySQL复制。M1是主设备,M2是从设备。所有请求的类型都是“写入”,正确地转发到M1,并立即将该记录从M1复制到M2

但是如果请求类型为"read",则代理不能转发到M2,只能转发到M1。我用tcpdump检查了这些数据包,我看到在M1上收到的每个数据包。使用telnet和MySQL命令检查,从代理到MySQL服务器的连接工作正常。

当我关闭M1服务器时,所有请求(读/写)都发送到另一个(M2)服务器。关闭M1服务器后,M2工作正常。每条记录都是可用的。

我不明白为什么mysql-proxy不把读取的数据包也转发给M2,而M1是可用的。有什么问题吗?或者这就是它应该正常运行的方式?

这是我的配置:

代码语言:javascript
复制
[mysql-proxy]
daemon = true
user = mysql
proxy-skip-profiling = true
keepalive = true
max-open-files = 2048
event-threads = 50
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
admin-address = 10.10.10.5:4401
admin-username = admin
admin-password = xxxxxxx
proxy-address = 0.0.0.0:3307
proxy-read-only-backend-addresses = 10.10.10.2:3306
proxy-backend-addresses = 10.10.10.1:3306

plugin-dir=/usr/local/lib/mysql-proxy/plugins
plugins=proxy,admin,debug,replicant

LUA_PATH = /usr/lib/mysql-proxy/lua/proxy/?.lua
LUA_CPATH = /usr/lib/mysql-proxy/lua/?.so
admin-lua-script=/opt/mysql-proxy-0.8.2/admin.lua
proxy-lua-script=/usr/local/lib/mysql-proxy/lua/proxy/rw-splitting.lua
proxy-lua-script=/usr/local/lib/mysql-proxy/lua/proxy/balance.lua
proxy-lua-script=/opt/mysql-proxy-0.8.2/riporter.lua
EN

回答 1

Stack Overflow用户

发布于 2014-05-05 00:55:52

该选项在过去有一些问题,但在您正在使用的版本中没有问题。

--proxy-read-only-backend-addresses不会使代理将读取请求转发到该选项中指定的后端。

为此,您需要更改一个lua脚本(或编写一个新脚本)来读取只读后端地址选项并定义您想要的行为。

您可以阅读有关此here的更多信息。

希望这能为你的进一步研究提供一些线索。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23458764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档