LINUX.ORG.RU

Как обновить Mysql базу с 5.7 на 8.0 без простоя?

 


2

4

Пробовал обновить на текущем сервере падает в ошибку data dictionary и больше не заводится (из-за ошибочных временных таблиц), благо делал для тестов копию сервера.

Собственно какие варианты? Как действовать, на сервере постоянно работают пользователи


Как действовать, на сервере постоянно работают пользователи

Заводишь 8, настраиваешь репликацию с 5.7 на 8. Ночью переключаешь.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file
  1. репликация с 5.7 на 8 будет работать без проблем?
  2. включение репликации не вызовет ошибку data dictionary?
wiemei
() автор топика

через репликацию и haproxy, но совсем без downtimе не получится - тебе надо будет конфиги поменять и перезагрузить сервер после этого

Поднимаешь второй mysql c первого делаешь дамп с –single-trasaction (у тебя же движок innodb?) и синхронизируешь их

https://linuxscriptshub.com/mysql-replication-setup-without-downtime/

после синхронизации переключаешь через haproxy на новый сервер

и делаешь то же самое в другую сторону (если надо)

adn ★★★★
()
Ответ на: комментарий от wiemei

репликация с 5.7 на 8 будет работать без проблем?

в твоем случае да

включение репликации не вызовет ошибку data dictionary?

нет конечно

adn ★★★★
()
Ответ на: комментарий от wiemei

репликация с 5.7 на 8 будет работать без проблем

Есть подводные камни, но гугл тебе в помощь. Начать можно здесь

включение репликации не вызовет ошибку data dictionary

Сегодня Нептун в третьем доме поэтому телепатия не работает.

no-such-file ★★★★★
()
Ответ на: комментарий от wiemei

upd: с паролями будут скорее всего проблемы - надо принудительно включить на 8.0 старый формат.

adn ★★★★
()

обновляйся лучше на mariadb, она совместима с 5кой, а 8ая нет

Syncro ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.