Назад | Перейти на главную страницу

Продвигайте MySQL master-slave в репликацию master-master

Я буду выполнять обновление большой базы данных 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

Это, хотя и занимает немного больше времени, гарантирует, что вы выполните все правильные шаги, поскольку создание подчиненного мастера - это просто вопрос указания на него другого мастера, это не большая проблема, это также устраняет отсутствие простоя, которое вы хотите .