Ситуация. Есть древнючий сервер под CentOS6 с mysql5.1 (mysql в MyISAM, боевые БД в InnoBD) (назовем его oldsql), задача перенести его на новый сервер с mariadb. Баз несколько, пользователей много, есть хранимые процедуры. Максимальное время простоя (недоступность БД) - 10 минут.
Как я себе это вижу:
1. Поднять сервер newsql, поставить mariadb
2. С oldsql снять подный дамп (все БД и таблицы)
3. Перенести дамп на newsql, импортировать
4. Настроить репликацию master-slave между oldsql и newsql
5. Ночью, отключть все сервисы которые цепляются к mysql
6. На oldsql отключить сетефой интерфейс (в гипервизере)
7. На newsql поменять ip (поставить адрес с oldsql), отключить реплицацию
8. Вернуть в работу сервисы, которым требуется mysql
Интересует, каким могут быть подводные камни:
1. Разные версии mysql на хостах, есть проблемы с репликацией?
2. Можно ли при master-slave загубить данные на master?
3. Как поведет себя slave сервер если отключить репликацию и сделать его stand-alone?
4. Репликация хранимых процедур и пользователей, будут ли проблемы?
Если есть более правильные варианты для решения данной задачи, готов прислушаться.
P.S. Просто остановить БД, скопировать дамп, перевести и развернуть - около часа по времени выходит, поэтому и ищу решение. Возможно стоит снять дамп на oldsql, «заморозить момент снятия» (вот не знаю есть такое или нет и как делается), перенести полный dump на newsql, развернуть, в момент переноса снять дельту (начиная с «заморозки») и добавить ее на newsql.