У меня есть два сервера MySQL, настроенных с репликацией главный-подчиненный.
Перед развертыванием новой версии приложения мы:
1) ОСТАНОВИТЬ РАБОТУ
2) Возьмите дамп MySQL ведомого.
Однако, если во время развертывания новой версии схемы была сделана ошибка (например, по ошибке была отброшена таблица), то сохранение ведомого устройства не помогает. Наш сервис требует большого количества операций записи, поэтому мы не можем снова включить его, пока у нас не будет работать мастер.
Если мы теперь загрузим дамп mysql обратно в мастер, это займет много времени, в течение которого наша служба не будет работать.
Как лучше всего исправить такую ошибку? Как мне настроить систему так, чтобы я мог легко продвигать подчиненное устройство, включать нашу службу и только после этого обрабатывать сломанную базу данных? В основном меня беспокоит повторная синхронизация ведомого и ведущего после того, как на ведомом будут сделаны изменения.
Метод, который вы используете, безусловно, самый безопасный, но есть способы обмануть, чтобы сделать процесс более прозрачным.