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?

Cgnkev
la source
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
Rinzwind
la source
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/

Rahul K Jha
la source
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.

Kailee
la source