Как обновить MySQL 5.5.40 до MySQL 5.7

Как я могу обновить версию MySQL

Текущая Версия MySQL: 5.5.40

Целевая Версия MySQL: MySQL 5.7

OS: CentOS release 6.5 (Final)

8 ответов


путь обновления MySQL 5.5 - > MySQL 5.6 - > MySQL 5.7

см.https://dev.mysql.com/doc/refman/5.7/en/upgrading.html


вероятно, самый быстрый способ-сбросить старую версию DB с помощью mysqldump и восстановить его в 5.7 свежий DB.

насколько гладкий процесс идет, зависит от того, сколько упало функций в 5.7 вы используете в 5.5.

в моем случае единственная функция, которая была удалена в 5.7, была типа timestamp по умолчанию '0000-00-00 00:00:00' Исправить это было запустить sed на дамп файл и заменить "0000-00-00 00:00:00' с ТЕКУЩАЯ_ОТМЕТКА_ВРЕМЕНИ

СЕПГ -я.бу с/'\"0000-00-00 00:00:00'\"/ТЕКУЩАЯ_ОТМЕТКА_ВРЕМЕНИ/г' fixed_dumo.в SQL

потом в fixed_dump.в SQL был импортирован в свежий 5.7 DB, и он работал плавно. Надеюсь, это поможет.


да. Из "логического обновление" вы можете перейти с 5.5 на 5.7. Таким образом: 5.5 -> 5.6 -> 5.7, необходим только для обновления "на месте", с папкой данных.

см.: https://www.percona.com/forums/questions-discussions/mysql-and-percona-server/43956-what-is-the-preferred-mysql-upgrade-path-5-5-to-5-7


Я могу опоздать на вечеринку, но простым и быстрым решением без или минимального простоя может быть AWS Database-Migration-Service, который можно использовать для обновления вашей базы данных до другой версии, а также на какой-либо другой сервер или RDS.

Я пробовал это и конвертировал MySQL5.5 к MySQL5.7 на продукции без любого времени простоя. Вот демо для того же -Как Перенести MySQL5.5 к MySQL5.7

действия:

  • установить текущий MySQL как master

  • создайте новый экземпляр / сервер с MySQL5.7 на нем с обязательными пользователями

  • добрался до AWS DatabaseMigrationService (DMS) и создал репликацию пример

  • после создания экземпляра репликации он попросит заполнить соединение деталь к источнику (MySQL5.5) и цель (MySQL5.7) базы данных.

  • Создать задачу в DMS, которая будет логикой, на какой основе вы хотите к перенос данных (конкретной базы данных или конкретной таблицы)

  • запустить задание

  • когда задача завершена и данные синхронизированы, просто переключите запись DNS указывая на MySQL5.5 к MySQL5.7


Шаг 1 : Сделайте резервное копирование

mysqldump --lock-all-tables -u root -p --all-databases > dump.sql

Шаг 2: Удалите старый mysql

sudo apt-get remove mysql-server
sudo apt-get autoremove

Шаг 3 : Установите новую версию MySQL 5.6

sudo apt-get install mysql-client-5.6 mysql-client-core-5.6

sudo apt-get install mysql-server-5.6

для 5.7

wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb

sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb

sudo apt-get update

sudo apt-get install mysql-server

Шаг 4 : восстановление данных

mysql-u root-p


Fallow простые шаги для обновления Mysql версии 5.5 до 5.7 .


после кучки неудачных попыток я завершил его до:

  1. чтобы обновить с 5.5, сначала перейдите к 5.6, а затем к 5.7
  2. сохранить datafolders и установить новую установка 5.7

обоим нужен apt-config, упомянутый во всех приведенных выше комментариях.

Кикер должен работать sudo apt install mysql-**community**-server


sudo apt-get update

sudo apt-get upgrade

sudo apt-get install mysql-server-5.6