Исправление manul91, (текущая версия) :
- С oldsql снять подный дамп (все БД и таблицы)
- Перенести дамп на newsql, импортировать
- Настроить репликацию master-slave между oldsql и newsql
Это делается в несколько другой последовательности:
отключить все сервисы которые цепляются к oldsql.
Переделать конфиг oldsql как master с row-based репликацию, потом временно запустить в read-only режиме.
С oldsql снять годный ПОЛНыЙ дамп (все БД и таблицы И ПРОЦЕДУРы И АККАУНТы и т.д.), и ЗАОДНО с этом дампе снять и записать позицию для слейва для синхронизации с бинлогах.
Можно запустить обратно oldsql нормально в read-write (и сервисы)
Далее можно конфигурить слейв как и когда удобно:
После того как он сконфигурен (пустым) - импортировать дамп, выставить ему позицию в бинлогах на мастере к которой дамп привязан - запустить синхронизацию. По идее, слейв мастера догонит.
- Разные версии mysql на хостах, есть проблемы с репликацией?
Скорее всего будут. Нужно читать доки - но разница в версий слишком большая - а это всегда было слабым местом при mysql репликации.
Я бы для верности сделал без репликацию:
Дополнительный даунтайм (по сравнению со сценарием с репликации), будет на:
Это возможно, не так много (зависит от размера базы).
Зато намного надеждней, с репликацией между столь разных версий - даже если она и «заработает» что сомнительно - могут быть скрытые неконсистентности которые сначала и не заметить а потом аукнутся.
Исходная версия manul91, :
- С oldsql снять подный дамп (все БД и таблицы)
- Перенести дамп на newsql, импортировать
- Настроить репликацию master-slave между oldsql и newsql
Это делается в несколько другой последовательности:
отключить все сервисы которые цепляются к oldsql.
Переделать конфиг oldsql как master с raw-based репликацию, потом временно запустить в read-only режиме.
С oldsql снять годный ПОЛНыЙ дамп (все БД и таблицы И ПРОЦЕДУРы И АККАУНТы и т.д.), и ЗАОДНО с этом дампе снять и записать позицию для слейва для синхронизации с бинлогах.
Можно запустить обратно oldsql нормально в read-write (и сервисы)
Далее можно конфигурить слейв как и когда удобно:
После того как он сконфигурен (пустым) - импортировать дамп, выставить ему позицию в бинлогах на мастере к которой дамп привязан - запустить синхронизацию. По идее, слейв мастера догонит.
- Разные версии mysql на хостах, есть проблемы с репликацией?
Скорее всего будут. Нужно читать доки - но разница в версий слишком большая - а это всегда было слабым местом при mysql репликации.
Я бы для верности сделал без репликацию:
Дополнительный даунтайм (по сравнению со сценарием с репликации), будет на:
Это возможно, не так много (зависит от размера базы).
Зато намного надеждней, с репликацией между столь разных версий - даже если она и «заработает» что сомнительно - могут быть скрытые неконсистентности которые сначала и не заметить а потом аукнутся.