Я буду выполнять обновление большой базы данных MySQL 5.0 до Percona 5.1, и я пытаюсь максимально сократить время простоя во время обновления, поэтому обычная процедура импорта mysqldump + mysql не работает для меня. время простоя составит несколько часов.
В настоящее время я запускаю настройку репликации Master-> Slave (2 сервера; 1 мастер - 1 подчиненный), но новые серверы будут master-master-slave (3 сервера; 2 master - 1 slave) под управлением МММ.
Один из подходов, который я рассматриваю, - это настройка новых серверов для репликации из старой базы данных, как это (префикс o = старый сервер, префикс n = новый сервер):
oM1 -> oS1
oM1 -> nM1 -> nM2 -> nS1
В то время как я выполняю свопинг, я могу остановить подчиненное устройство на nM1 и выключить oM1 и oS1.
Моя проблема в том, как мне надежно продвинуть настройку главный-подчиненный до главного-главного, чтобы nM1 сменил главного на nM2?
Репликация мастер-мастер MySQL между 3 серверами, хотя возможна, полна головной боли, пробовал это один раз, никогда больше.
Что бы я сделал на вашем месте, так это пошагово
oM1 -> nM1 -> nS2
Затем, когда у вас есть nM1, работающий именно так, как вы хотите
oM1(out) -> nM1 -> nM2 -> nS1
Это, хотя и занимает немного больше времени, гарантирует, что вы выполните все правильные шаги, поскольку создание подчиненного мастера - это просто вопрос указания на него другого мастера, это не большая проблема, это также устраняет отсутствие простоя, которое вы хотите .