为什么我的 mysql-proxy 总是在 master 上进行选择?

为什么我的 mysql-proxy 总是在 master 上进行选择?

我的选择始终是掌握,如果我停止掌握,我会得到一些“无法连接,所有后端都已关闭。”

[read_query] 89.216.31.228:64166
current backend   = 0
client default db = nivo
client username   = remote
query             = SELECT option_value FROM wp_options WHERE option_name = 'siteurl' LIMIT 1
sending to backend : 172.30.1.149:3306
is_slave         : false
server default db: nivo
server username  : remote
in_trans        : false
in_calc_found   : false
COM_QUERY       : true

这是我的启动脚本:

MASTERDB=172.30.1.149
SLAVEDB01=172.30.1.150
ROOT_DIR=/usr/share

LUA_PATH="$ROOT_DIR/mysql-proxy/?.lua"
/usr/bin/mysql-proxy --daemon --proxy-backend-addresses=$MASTERDB:3306 --proxy-read-only-backend-addresses=$SLAVEDB01:3306 --proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua --admin-username=adm --admin-password=pass --admin-lua-script=/usr/share/mysql-proxy/admin.lua --log-level=debug --log-use-syslog

当我停止 master 时,我收到日志:

Cannot connect, all backends are down.

我的服务器设置如下(这些都是独立的 vps):

- mysql proxy server
- mysql master server
- mysql slave server

这是 mysql-proxy --version 的输出

mysql-proxy 0.8.1
chassis: mysql-proxy 0.8.1
glib2: 2.30.1
libevent: 2.0.21-stable
LUA: Lua 5.1.4
package.path: /usr/lib/mysql-proxy/lua/?.lua
package.cpath: /usr/lib/mysql-proxy/lua/?.so
-- modules
admin: 0.8.1
proxy: 0.8.1

有人能帮我从哪里开始调试吗?顺便说一句,如果运行正常,复制本身就可以了。

答案1

my.cnf在 SLAVE 上进行了更改bind-address=my_server_ip(不是 lo ip)。

并且我在 SLAVE 上添加了与 MASTER 上相同的用户,以便在某些数据库上进行选择,例如:grant all on db.* ...结束等等。

现在,分流流量功能已 100% 正常运行(到目前为止)。

问题解决了。

相关内容