web-dev-qa-db-fra.com

Comment mettre à jour MySQL 5.5.40 vers MySQL 5.7

Comment puis-je mettre à jour MySQL?

Version actuelle de MySQL: 5.5.40 

Version cible de MySQL: MySQL 5.7 

OS: version 6.5 de CentOS (finale)

14
matinict

Le chemin de mise à niveau est MySQL 5.5 -> MySQL 5.6 -> MySQL 5.7

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

8
Marc Alff

Le moyen le plus rapide est probablement de vider votre ancienne version de la base de données avec mysqldump et de la restaurer dans une nouvelle base de données 5.7.

La régularité du processus dépend du nombre de fonctionnalités abandonnées dans la version 5.7 que vous utilisez dans la version 5.5.

Dans mon cas, la seule fonctionnalité qui a été abandonnée dans la version 5.7 était timestamp default '0000-00-00 00:00:00' Le correctif pour cela consistait à exécuter sed on dump file et remplacez '' 0000-00-00 00:00:00 'par CURRENT_TIMESTAMP

sed -i.bu 's /'\'' 0000-00-00 00:00:00 '\' '/ CURRENT_TIMESTAMP/g' fixed_dumo.sql

Après cela, le fixed_dump.sql a été importé dans la nouvelle version 5.7 DB et cela a fonctionné sans problème . J'espère que cela vous aidera.

8
Alex

Oui. A partir d'une "mise à niveau logique", vous pouvez migrer de 5.5 pour 5.7. Ainsi: 5.5 -> 5.6 -> 5.7, n’est nécessaire que pour une mise à niveau "en place", avec un dossier de données. 

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

5
Carlos

Je serais peut-être en retard pour la soirée, mais AWS Database-Migration-Service pourrait être une solution simple et rapide sans temps d'arrêt minimal, ce qui peut être utilisé pour mettre à niveau votre base de données vers une autre version ainsi que vers un autre serveur ou RDS. 

J'ai essayé cela et converti MySQL5.5 en MySQL5.7 en production sans temps d'arrêt .. Voici une démo identique - Comment migrer MySQL5.5 en MySQL5.7

Pas:

  • Définissez votre MySQL actuel en tant que maître

  • Créer une nouvelle instance/serveur avec MySQL5.7 avec les utilisateurs requis

  • Passez à AWS DatabaseMigrationService (DMS) et créez une instance de réplication

  • Après avoir créé l’instance de réplication, il vous demandera de remplir la connexion Detail aux bases de données source (MySQL5.5) et cible (MySQL5.7).

  • Créer une tâche dans DMS, qui sera la logique sur la base sur laquelle vous voulez migrer les données (base de données ou table particulière)

  • Lancer la tâche

  • Lorsque la tâche est terminée et que les données sont synchronisées, il suffit de basculer l'entrée DNS Pointant de MySQL5.5 à MySQL5.7

5
Ajeet Khan

étape 1: faire une sauvegarde

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

étape 2: supprimer le vieux mysql

Sudo apt-get remove mysql-server
Sudo apt-get autoremove

étape 3: installez la nouvelle version de mysql 5.6

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

Sudo apt-get install mysql-server-5.6

pour 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

étape 4: restaurer vos données

mysql -u root -p <dump.sql

5

Fallow Étapes simples pour la mise à niveau de Mysql version 5.5 à 5.7.

1

Après de nombreuses tentatives infructueuses, j'ai conclu à:

  1. Pour passer de la version 5.5, allez d'abord à 5.6 puis à 5.7
  2. Enregistrez les dossiers de données et installez une nouvelle installation de 5.7

Les deux ont besoin de l'apt-config mentionné dans tous les commentaires ci-dessus.

Le kicker doit exécuter Sudo apt install mysql-**community**-server

0
mrbaron666