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

Пример восстановления данных на ecss2 на основе ecss1:

на ecss1
ecss1-mysql> STOP SLAVE;
ecss1-mysql> RESET MASTER;
ecss1-mysql> FLUSH TABLES WITH READ LOCK;
ecss1-mysql> SHOW MASTER STATUS; # запомнить параметры File, Position (<FILE>, <POS>)

Не закрывайте соединения с мастер-базой. При закрытии соединения отключится режим только чтения, перейдет в режим чтения и запись. 
Открыть еще одну shell сессию к этому же серверу.
Выполнить из нового окна следующую команду, для дампа необходимых данных:

на ecss1 в другом окне

sudo mysqldump --verbose --single-transaction --quote-names --complete-insert --extended-insert --routines --events --triggers -uroot -proot --opt --databases ecss_audit ecss_address_book  ecss_calls_db ecss_statistics ecss_subscribers history_db web_conf > ecss1.mysql.dump
CODE

Снять режим чтения командой:

на ecss1

ecss1-mysql> UNLOCK TABLES;
CODE

Скопировать файл ecss1.mysql.dump на ecss2. После этого зайти в mysql ecss2 и выполнить команду:

на ecss2

sudo mysql-ecss2> STOP SLAVE;
CODE

Далее в shell ecss2 выполнить команду (может выполняться длительное время):

на ecss2 в другом окне

sudo mysql -uroot -p < ecss1.mysql.dump
CODE

Далее на слейве удалить все журналы от мастера и начать репликацию с момента, когда на мастере был сделан дамп:

на ecss2
mysql-ecss2> RESET SLAVE;
mysql-ecss2> CHANGE MASTER TO MASTER_LOG_FILE='<FILE>', MASTER_LOG_POS=<POS>;
mysql-ecss2> START SLAVE;
mysql-ecss2> SHOW SLAVE STATUS \G;

Убедиться в том, что параметры Slave_IO_Running и Slave_SQL_Running установлены в значение Yes. Далее в mysql ecss2 выполнить:

Если после RESET SLAVE выдается ошибка, что relay-файл не найден, необходимо удалить все relay-файлы на этом хосте (sudo rm /var/lib/mysql/slave-mysql-relay-bin.*). Затем повторить RESET SLAVE.

Продолжаем на SLAVE:

на ecss2
mysql-ecss2> STOP SLAVE;
mysql-ecss2> FLUSH TABLES WITH READ LOCK;
mysql-ecss2> RESET MASTER;
mysql-ecss2> SHOW MASTER STATUS;

Запомнить FILE и POSITION, в mysql ecss1 выполнить:

на ecss1
mysql-ecss1> CHANGE MASTER TO MASTER_LOG_FILE='<FILE>', MASTER_LOG_POS=<POS>;
mysql-ecss1> START SLAVE;
mysql-ecss1> SHOW SLAVE STATUS \G;

Убедиться в том, что параметры Slave_IO_Running и Slave_SQL_Running имеют значение Yes. Снять LOCK на ecss2 и запустить репликацию:

на ecss2
mysql-ecss2> UNLOCK TABLES;
mysql-ecss2> START SLAVE;