SQLinfo.ru - Все о MySQL Highload++ Junior 2017

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.11.2016 16:48:16

pps
Участник
Зарегистрирован: 16.11.2016
Сообщений: 1

Временная остановка репликации для нескольких slave

Здравствуйте.
Существует такая проблема (я далеко не специалист):
Иногда приходится перезагружать сервер с master базой данных (ну или просто сервер ложится), сейчас слейвов порядка 5 штук но количество увеличивается.
Соответственно после остановки мастера идет рассинхронизация.

Базы данных: InnoDB на Marinda (centos 7)

Вопросы:
1) Можно ли мне как-то временно приостановить репликацию сразу на всех слейвах (не заходя по SSH на каждый слейв и выполняя STOP SLAVE), к примеру командой на мастере
2) Когда сбой уже произошел как правильно восстановить слейв чтобы он догнал мастер?

Если я не сообщил важную информацию - готов предоставить, зная какую

Отредактированно pps (16.11.2016 17:06:17)

Неактивен

 

#2 16.11.2016 18:40:56

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6599

Re: Временная остановка репликации для нескольких slave

Если Вы просто штатно перезагружаете master, то реплики должны сами должны подцепиться без какого-либо дополнительного вмешательства. Судя по тем вопросам, которые Вы задаете, или master перезагружается сам со сбоем, или MySQL не успевает штатно остановиться до того, как ушла система (например, неудачный сценарий запуска).

Я не очень люблю systemd, поэтому буду валить в первую очередь на него ;-)

Попробуйте штатно погасить MySQL (mysqladmin shutdown, например), и долждаться, когда он остановится. После его последующего запуска (запускать можно и через systemd), репликация должна восстановиться сама без каких-либо дополнительных действий с Вашей стороны. Если это так, то тогда подкрутите настройки так, чтобы systemd не убивал MySQL при перезагрузках.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson