Исправление ошибки: Failed to open the relay log

При попытке запуска реплики между master и slave возникает ошибка и реплика не поднимается.

Ошибка в консоле

ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

В лог файле:

131113 12:49:14 [ERROR] Failed to open the relay log '/var/lib/mysql/mysql-relay-bin.000004' (relay_log_pos 88844326)
131113 12:49:14 [ERROR] Could not find target log during relay log initialization

Решение

Остановим слейв сервер:

mysql>stop slave;

Узнаем состояние реплики:

mysql>show slave status;

Записываем состояние реплики, значения Read_Master_Log_Pos, которое равно Exec_Master_Log_Pos и Master_Log_File

Обнуляем состояние слейва

mysql>reset slave;

Задаем повторно позицию реплику:

mysql> CHANGE MASTER TO MASTER_HOST="192.168.2.1", MASTER_USER="User_rep", MASTER_PASSWORD="User_rep_pass", MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=33336559;

Стартуем слейв:

mysql>start slave;

Есть еще один вариант.

  1. останавливаем MySQL на слейве;
  2. находим директорию с relay log’ами (/var/lib/mysql);
  3. удаляем все relay логи (hostname-relay-bin.XXX, hostname-relay-bin.index and relay-log.info)
  4. запускаем MySQL