LINUX.ORG.RU
ФорумAdmin

восстановление MySQL репликации при повреждении relay лога

 ,


0

2

Допустим, что слейв хост упал. После перезапуска системы видим следующее

Last_Errno: 1594
Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.

Можно ли считать процедуру

STOP SLAVE;
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE={@Relay_Master_Log_File}, MASTER_LOG_POS={@Exec_Master_Log_Pos};
START SLAVE;
действительно эффективным решением, не допускающим рассинхронизацию?

В общем случае нет. Нужно заново перекачать базу (или дамп, как удобнее) и запустить репликацию.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

http://www.percona.com/doc/percona-toolkit/2.2/pt-table-sync.html

В этих целях мне чаще всего помогал percona toolkit.

В приведенном вами примере консистентность слейва будет нарушена и части данных будет не хватать, он просто продолжит писать с указанного вами места пропустив куски данных за время простоя.

phoen ★★
()
Ответ на: комментарий от phoen

Ну синком я тоже пользвоался, но тут нужно как-то согласовать binary логи и содержимое. Или оно как-то умно умеет? Просто боюсь, получится немного кривой слейв.

turtle_bazon ★★★★★
()
Ответ на: комментарий от phoen

части данных будет не хватать, он просто продолжит писать с указанного вами места пропустив куски данных за время простоя

Exec_Master_Log_Pos совсем ни о чём не говорит?

frozen_twilight ★★
() автор топика
Ответ на: комментарий от frozen_twilight

Говорит что неплохо было бы тебе перечитать документацию.

phoen ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.