У меня есть установка MySQL с одним главным (M1) и одним подчиненным (S1). Из-за некоторых непредвиденных проблем мне нужно повысить уровень моего подчиненного сервера до уровня главного и понизить уровень главного до подчиненного. Моя версия MySQL - 5.6 в Linux.
Пожалуйста, дайте мне знать точный процесс, так как это действующий веб-сайт, и нужно убедиться, что время простоя намного меньше.
Во-первых, вам нужно убедиться, что данные на обоих узлах идентичны в настоящий момент. Если данные не идентичны, вы должны сделать резервную копию текущего ведущего и восстановить на текущем ведомом. Как только это будет сделано, вы должны запустить следующую команду на текущем ведомом устройстве -
mysql> show master status \ G;
запишите имя файла и позицию в журнале
Затем выполните следующую команду на текущем главном узле -
ИЗМЕНИТЬ МАСТЕРА НА MASTER_HOST = 'IP-адрес текущего ведомого устройства', MASTER_USER = 'usrname для репликации', MASTER_PASSWORD = 'пароль для пользователя репликации', MASTER_LOG_FILE = 'имя файла, которое вы отметили на предыдущем шаге', MASTER_LOG_POS = положение журнала, которое вы отметили на шаге выше;
Теперь запустите следующую команду на текущем главном устройстве (подчиненное устройство после выполнения вышеуказанной команды)
mysql> start slave;
Вы можете проверить статус подчиненного устройства с помощью команды ниже -
mysql> show slave status \ G;
Теперь укажите в вашем приложении нового мастера.