Почему мой MySQL-прокси всегда делает выбор на мастере?

Мои селекторы всегда будут мастерами, и если я остановлю мастер, у меня появится сообщение "Не удается подключиться, все бэкэнды отключены".

[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

Когда я останавливаю мастер я попал в лог:

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 на раб bind-address=my_server_ip (не гляди IP).

И я добавил того же пользователя на SLAVE, что и на MASTER для выбора в некоторой базе данных, например: grant all on db.* ... конец так далее.

Сейчас разделение трафика работает на 100% (пока).

Так что проблема решена.

Другие вопросы по тегам