Перемещение ведомого MySQL на новые жесткие диски - мне нужны журналы mysqld-relay-bin? - PullRequest
1 голос
/ 15 марта 2012

Я перемещаю подчиненное MySQL с одного набора HD на другой. Конфигурация машины лишает меня возможности одновременно устанавливать на нее и старые, и новые жесткие диски. Поэтому я rsync'ed каталог данных на другой компьютер.

Когда появились новые жесткие диски, я восстановил каталог данных. Это работало нормально.

Однако я не могу начать репликацию. Это ошибка, которую я получаю.

120314  4:23:07 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=mysqld-relay-bin' to avoid this problem.
120314  4:23:07 [ERROR] Failed to open the relay log '/var/lib/mysqllogs/mysqld-relay-bin.000273' (relay_log_pos 677043943)
120314  4:23:07 [ERROR] Could not find target log during relay log initialization
120314  4:23:07 [ERROR] Failed to initialize the master info structure

Я нашел этот комментарий: https://serverfault.com/questions/61471/moving-a-mysql-slave-to-a-new-host-failed-to-open-the-relay-log

Если он просто жалуется на релейные журналы, в большинстве случаев они одноразовые, если у мастера все еще есть двоичные журналы. Вы можете просто запустите CHANGE MASTER TO на подчиненном устройстве, и он очистит существующие реле журналы и начать заново. Вам не нужно делать новую свежую копию.

Это говорит о том, что мне не нужны эти файлы журналов.

Имя хоста не меняется.

Мои вопросы:

Нужны ли мне эти файлы журнала?

Если нет, что мне нужно сделать, чтобы начать репликацию? Будет ли он помнить, где он остановился?

Если мне нужны эти файлы журналов, я что-нибудь еще забыл?

1 Ответ

4 голосов
/ 30 марта 2012

Я не думаю, что вам нужны файлы loge для ретрансляции, чтобы заставить его работать.Возможно, он запомнил, где он остановился. Вы пробовали команду mysql>RESET SLAVE;?Вы должны получить позицию из РАБА по SHOW SLAVE STATUS;чтобы убедиться, что память еще сохраняется, проверьте, существует ли по-прежнему файл журнала на главном сервере, поскольку он сохраняет его только до тех пор, пока вы установите максимальный размер файла.Но попробуйте RESET SLAVE;если у вас нет, это делает магию.Вероятно, вам придется начать весь процесс заново, сбросив данные существующего сервера сразу после того, как вы заблокируете таблицы и выполните «SHOW MASTER STATUS». Я бы не рекомендовал пытаться сохранить этот процесс, если у вас есть возможность начать репликацию сцарапина.

...