Нам не хватало дискового пространства на ведомом устройстве из-за файлов relay-bin, поэтому я остановил сервер mysql, удалил файлы relay-bin. изменил файл my.cnf, чтобы указать в журнале реле другое место. В статусе Slave я отметил «Relay_Master_Log_File» и «Exec_Master_Log_Position». Я использовал их, чтобы «Сменить хозяина». Не работает. Я получаю приглашение: «Не удалось открыть журнал реле в старой позиции». Как Mysql по-прежнему просматривает старые файлы и как я могу их изменить?
Спасибо.
Вы должны были изначально удалить журналы, выполнив RESET SLAVE
.
Тем не менее, если вы:
Exec_Master_Log_Position
и соответствующее имя файла журнала.Проблема STOP SLAVE
и RESET SLAVE
. Это удалит всю информацию, связанную с репликацией, с ведомого устройства, включая relay-log.info
что может вызвать появившуюся ошибку.
Использовать CHANGE MASTER ..
для перенастройки ведомого устройства с учетом вашей позиции в журнале, хоста, имени пользователя и т. д.
Затем верните его START SLAVE
.
Попробуйте перезапустить подчиненный сервер, чтобы очистить кеш.
Чтобы заставить его работать сразу, лучше всего: mysqldump --master-data --databases db_name> snapshot20091124.sql и передать его на подчиненное устройство репликации. Вы можете дважды проверить позицию журнала, пролистывая первые несколько строк дампа mysql. выдать «стоп раб»; выполните импорт «mysql -u root -p <snapshot20091124.sql», затем выполните команду «start slave». Репликация - иногда излишне сложный зверь.