Почему мой 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% (пока).
Так что проблема решена.