Mise à jour de MySQL 5.5 vers MySQL 5.7


29

J'ai cherché un tutoriel pour les nuls, sur la façon de mettre à jour mon serveur MySQL 5.5 vers MySQL 5.7 J'utilise ubuntu 14.04. J'ai déjà essayé les tutoriels sur le site Web MySQL. Comment mettre à niveau mon serveur?


Les documents MySQL indiquent: "La mise à niveau de plusieurs niveaux de version est prise en charge, mais uniquement si vous mettez à niveau un niveau de version à la fois. Par exemple, passez de 5.1 à 5.5, puis à 5.6. Suivez les instructions de mise à niveau pour chaque version, successivement. . " vous devez donc faire la mise à jour en deux étapes 5.5 -> 5.6 -> 5.7
iterq

Réponses:


74

Cela a fonctionné pour moi:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo gdebi mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

La 2e commande demandera une entrée:

entrez la description de l'image ici

Après avoir choisi 5.7, choisissez «appliquer»


$ mysql --version
mysql  Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using  EditLine wrapper

N'oubliez pas d'exécuter mysql_upgrade après l'installation pour mettre à niveau les tables système et redémarrer le serveur, en suivant le guide de mise à niveau MySQL .

$ mysql_upgrade

ou

$ sudo mysql_upgrade -u root -p

Et redémarrez mysql

sudo service mysql restart

1
J'ai mis à jour mon mysql en utilisant cette méthode mais cela a cassé mon apache2, maintenant j'en reçois 500 sur tous mes sites hébergés. askubuntu.com/questions/795868/…
Rahul K Jha

1
Je pense que le nouveau lien de deb de version est: dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
zx1986

4
Notez que cela sudo mysql_upgrade -u root -pest nécessaire !!
Jadeye

2
L'URL du paramètre wget continuera de changer à mesure que de nouvelles versions seront publiées. Allez ici dev.mysql.com/downloads/repo/apt et vérifiez le bas de la page
Gerbus

1
comment puis-je choose "apply"... j'appuie sur Entrée et cela me fait encore et toujoursa
Umair

28

Vous pouvez voir mon commentaire que la solution de @Rinzwind n'a pas fonctionné dans mon cas (Ubuntu 14.04, Mysql 5.5). J'ai donc googlé la solution et trouvé la réponse qui a fonctionné pour moi chez Digital Ocean Tutorial .

Tout d'abord, sauvegardez toute votre base de données.

mysqldump --all-databases > all_databases.sql

Si la commande ci-dessus n'a pas fonctionné, essayez-en une.

mysqldump -u root -p --all-databases > all_databases.sql

Je colle la partie particulière du tutoriel qui a fonctionné pour moi.

Si vous souhaitez installer MySQL 5.7, vous devrez ajouter le nouveau référentiel de packages APT à partir de la page du référentiel MySQL APT. Cliquez sur Télécharger en bas à droite, puis copiez le lien sur la page suivante de Non merci, commencez simplement mon téléchargement. Téléchargez le package .deb sur votre serveur.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

Ensuite, installez-le à l'aide de dpkg.

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

Vous verrez une invite qui vous demande quel produit MySQL vous souhaitez configurer. L'option MySQL Server, qui est mise en évidence, devrait indiquer mysql-5.7. Si ce n'est pas le cas, appuyez sur ENTRÉE , puis faites défiler jusqu'à mysql-5.7 à l'aide des touches fléchées et appuyez à nouveau sur ENTRÉE .

Une fois que l'option indique mysql-5.7, faites défiler le menu principal vers Appliquer et appuyez à nouveau sur ENTRÉE. Maintenant, mettez à jour votre index de package.

sudo apt-get update

Enfin, installez le paquet MySQL-server, qui contient désormais MySQL 5.7.

sudo apt-get install mysql-server

Maintenant, mettez à niveau toutes les bases de données mysql.

sudo mysql_upgrade -u root -p

Redémarrez maintenant le serveur mysql.

sudo service mysql restart

Recherchez toujours la dernière version du fichier mysql-at-config sur https://dev.mysql.com/downloads/repo/apt/


2
J'obtiens l'erreur suivante lors de l'installation de mysql-server: W: erreur GPG: repo.mysql.com trusty InRelease: Les signatures suivantes n'étaient pas valides: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
Snigdha Batra

3
@SnigdhaBatra, c'est un bug connu . Utilisez la commande sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5pour résoudre votre problème.
Rahul K Jha

Je comprends que la clé A4A9 ~ ne peut pas être récupérée, donc rien ne se passe
Lucas Bustamante

Quelle version d'Ubuntu utilisez-vous?
Rahul K Jha

1
Fwiw, afin de sauvegarder toutes les bases de données, je devais également spécifier un utilisateur mysqldump(selon cette réponse ). par exemple:mysqldump -u root -p --all-databases > alldb.sql
Nick F

3

cela peut également se produire lors de la mise à niveau de 14.04 vers 16.04, ce qui provoque une mise à niveau mysql non prise en charge (5.5 -> 5.7), qui n'est pas un chemin de mise à niveau pris en charge comme documenté par mysql . La manière la plus simple de contourner ce problème est de mettre à jour mysql vers la version 5.6 tout en restant sous 14.04. Pour ce faire, vous devez d'abord (bien sûr!) Vider toutes vos bases de données;

nom d'hôte # mysqldump --lock-all-tables -u root -p --all-databases> backup.sql

puis mise à niveau vers mysql 5.6;

hostname # apt-get install mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6

De cette façon, toutes vos bases de données sont mises à niveau sur place et (sur mes machines jusqu'à présent) en toute sécurité et en toute transparence vers 5.6. Le seul problème après la mise à niveau peut être les entrées TIMESTAMP. Maintenant, même après une mise à niveau vers la version 16.04, mysql reste à 5.6 et les problèmes entourant la mise à niveau non prise en charge de 5.5 directement à 5.7 pendant la mise à niveau de la version ne font jamais surface.

J'espère que cela t'aides,

Kailee.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.