Восстановление дампа mysql на главном сервере

#mysql #database-replication

#mysql #база данных-репликация

Вопрос:

У меня есть главный сервер, который реплицируется пятью подчиненными устройствами. Мне нужно восстановить базу данных на главном сервере, и я планирую сделать это с помощью mysql db_name < db_name.dump. Мой вопрос в том, нужно ли мне останавливать mysql на главном сервере, прежде чем я сделаю это, чтобы подчиненные устройства автоматически получали изменения? Если да, то какие команды я должен выполнить перед выполнением mysql db_name < db_name.dump?

Комментарии:

1. Или было бы просто проще сделать то же самое mysql db_name < db_name.dump на каждом подчиненном устройстве?

Ответ №1:

Вот что происходит:

  1. Мастер выполняет все изменения в файле дампа (в основном инструкции CREATE TABLE и INSERT).
  2. Мастер регистрирует все эти изменения в своем двоичном журнале.
  3. Каждая реплика загружает двоичный журнал с главного сервера.
  4. Каждая реплика воспроизводит одни и те же изменения.

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

Комментарии:

1. Я не смог проверить ваш ответ, потому что потерял терпение и написал скрипт на perl, который обновлял поврежденную таблицу в главном сервере запись за записью. Однако я добросовестно отмечу это как правильное. Спасибо за ответ.