Я пытаюсь запустить pt-table-sync для повторной синхронизации репликации MYSQL Master-Slave.
У меня есть две системы VPS, на которых запущен Debian 5, и репликация работает без проблем.
Проблема, с которой я столкнулся, заключается в том, что когда я запускаю pt-table-sync на сервере MASTER, он не может подключиться к серверу SLAVE. Я запускаю следующую команду:
pt-table-sync --dry-run --sync-to-master h = «ip подчиненного сервера», u = «пользователь», p = «пароль»
Который возвращается:
Хосту "мой адрес веб-сайта" не разрешено подключаться к этому серверу MySQL по адресу ...
Однако, если я пытаюсь подключиться к подчиненному серверу MySQL удаленно с главного сервера:
mysql -h 'ip подчиненного сервера' -u 'пользователь' -p'password '
Тогда у меня нет никаких проблем, и я могу нормально обращаться к базе данных.
На своем подчиненном сервере я попытался настроить учетную запись пользователя mysql, которую MASTER использует при подключении к нему, настроить хосты и даже временно установить для них значение «any», чтобы посмотреть, будет ли оно работать.
Что мне также показалось странным, так это то, что в зависимости от точной команды pt-table-sync, которую я запускаю, имя хоста машины, похоже, менялось. Например:
pt-table-sync --dry-run --sync-to-master h = «ip подчиненного сервера», u = «пользователь», p = «пароль»
-> Хост «Мой адрес веб-сайта» не может подключиться к этому серверу MySQL по адресу ...
pt-table-sync --dry-run --sync-to-master 'ip подчиненного сервера'
-> Доступ запрещен для пользователя 'root' @ '' my VPS name '' (с использованием пароля: НЕТ)
Я не уверен, почему он предоставляет разные имена хостов в зависимости от двух команд? Любые идеи, почему это не будет работать, если я могу подключиться напрямую к MySQL удаленно?