Я столкнулся с непредвиденной проблемой, связанной с главным узлом MySQL: облачный экземпляр, на котором он установлен, скоро будет удален.
Мне не приходилось выполнять подобную миграцию раньше, поэтому я не уверен, что один из предложенных мной вариантов лучше, чем другой.
Я могу настроить новый сервер, действующий как ведомый MySQL, и начать реплицировать на него данные. Я еще не определил, сколько данных находится на главном сервере, поэтому процесс репликации может не завершиться до того, как мне понадобится выполнить переключение.
Если я выберу эту опцию, мой план состоял в том, чтобы дождаться завершения репликации, а затем обновить веб-службы, чтобы они указывали на IP-адрес ведомого MySQL. Прочитав документы MySQL, у меня сложилось впечатление, что я не могу этого сделать (начать запись в ведомое устройство?).
Я могу создать новый экземпляр и установить этот экземпляр в качестве нового мастера MySQL. Затем я мог бы сделать снимок /data
volume и используйте этот снимок для создания нового тома и присоединения его к новому экземпляру MySQL Master. Как только это будет сделано, я могу обновить веб-службы, чтобы они использовали новый IP-адрес мастера SQL.
Проблема здесь в том, что в течение времени, необходимого для создания моментального снимка, данные все еще записываются на исходный мастер. Если бы я установил новый экземпляр MySQL Master как «живой», произошла бы потеря данных, и я действительно не могу придумать способ импортировать эти дельты обратно в новый экземпляр MySQL Master (как я могу разрешить вставки, разместить в разное время и первичные ключи?).
Буду очень признателен за любые советы, уловки или советы по этой проблеме. Заранее спасибо.