Comment puis-je rétrograder mysql 5.7 à 5.6 sur Ubuntu 16.04?

11

Je trouve que MySQL 5.7 est un gros porc de mémoire et je veux revenir à MySQL 5.6.

Cependant, chaque fois que j'essaie de désinstaller 5.7 et d'installer 5.6, je me retrouve avec un service MySQL qui ne démarre pas. Je dois également m'assurer de conserver toutes mes bases de données.

Quelqu'un peut-il me dire étape par étape comment restaurer mysql de 5.7 à 5.6?

**UPDATE**
$ dpkg -l | grep mysql    

rc  akonadi-backend-mysql                                1.13.0-2ubuntu4                                      all          MySQL storage backend for Akonadi  
ii  dbconfig-mysql                                       2.0.4ubuntu1                                         all          dbconfig-common MySQL/MariaDB support  
ii  libdbd-mysql-perl                                    4.033-1build2                                        amd64        Perl5 database interface to the MySQL database  
rc  libmysqlclient18:amd64                               5.6.30-0ubuntu0.15.10.1                              amd64        MySQL database client library  
rc  libmysqlclient18:i386                                5.6.30-0ubuntu0.15.10.1                              i386         MySQL database client library  
ii  libmysqlclient20:amd64                               5.7.12-0ubuntu1.1                                    amd64        MySQL database client library  
ii  mysql-client-5.7                                     5.7.12-0ubuntu1.1                                    amd64        MySQL database client binaries  
ii  mysql-client-core-5.7                                5.7.12-0ubuntu1.1                                    amd64        MySQL database core client binaries  
ii  mysql-common                                         5.7.12-0ubuntu1.1                                    all          MySQL database common files, e.g. /etc/mysql/my.cnf  
iU  mysql-server                                         5.7.12-0ubuntu1.1                                    all          MySQL database server (metapackage depending on the latest version)  
rc  mysql-server-5.5                                     5.5.43-0ubuntu0.14.10.1                              amd64        MySQL database server binaries and system database setup  
rc  mysql-server-5.6                                     5.6.16-1~exp1                                        amd64        MySQL database server binaries and system database setup  
iF  mysql-server-5.7                                     5.7.12-0ubuntu1.1                                    amd64        MySQL database server binaries and system database setup  
ii  mysql-server-core-5.7                                5.7.12-0ubuntu1.1                                    amd64        MySQL database server binaries  
ii  php-mysql                                            1:7.0+42+deb.sury.org~xenial+2                       all          MySQL module for PHP [default]  
ii  php5.6-mysql                                         5.6.23-1+deb.sury.org~xenial+2                       amd64        MySQL module for PHP  
ii  php7.0-mysql                                         7.0.8-2+deb.sury.org~xenial+1                        amd64        MySQL module for PHP  
dibs
la source
Les référentiels officiels d'Ubuntu 16.04 n'ont que 5.7, donc vous devrez d'abord trouver un référentiel qui fournit 5.6. Peut - être celui officiel de MySQL .
fkraiem
J'ai déjà ajouté le fidèle dépôt pour accéder à MySQL 5.6
dibs
Vous ne devriez pas faire cela, d'autant plus qu'il semble qu'il existe des packages 5.6 pour Xenial.
fkraiem
Par exemple, le système de gestion des services a changé (Trusty utilise upstart, Xenial utilise systemd), il n'est donc pas surprenant qu'un service dans un package conçu pour Trusty (avec upstart) ne démarre pas dans Xenial (avec systemd).
fkraiem
Ah wow. C'est peut-être pourquoi, peu importe ce que j'ai essayé, cela semble fonctionner.
dibs

Réponses:

7

Faites d'abord une mysqldumpde toutes vos bases de données (y compris information_schema). Ensuite, "arrêtez" mysql "et cela supprimera tout ce qui concerne mysql:

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.7 mysql-client-core-5.7

# Backup 5.6 config and data without deleting
sudo mv /etc/mysql /etc/mysql-5.6-backup
sudo mv /var/lib/mysql /var/lib/mysql-5.6-backup
sudo apt-get autoremove
sudo apt-get autoclean

puis

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

Avertissements:

  • Ubuntu est passé à systemd avec 16.04. Vous devrez peut-être également démarrer 16.04 avec upstart lors de l'utilisation de mysql 5.6.
Tyler
la source
1
Je suis presque sûr que $ sudo rm -rf sur / var / lib / mysql fera exploser toutes mes bases de données.
dibs
Ce sera le cas mais vous ne pouvez pas conserver / var / lib / mysql / de toute façon. Vous avez besoin d'un vidage de votre base de données pour pouvoir la recharger. Sinon, vous choisiriez des paramètres de 5.7 qui ne sont pas valides en 5.6
Rinzwind
1
Je vois une autre erreur: mysql doit être arrêté avant de le supprimer. Et un autre avertissement: nous sommes passés à systemd entre 5.6 et 5.7. Pas un dealbreaker mais mérite d'être mentionné
Rinzwind
@Rinzwind qu'est-ce que cela signifie pratiquement concernant le changement systemd? Aussi bon de savoir que je dois vider dbs. Je m'assurerai de le faire en premier.
dibs
3
mysql-client-5.6 n'est plus disponible par défaut dans apt-get. Voir askubuntu.com/questions/762384/… pour savoir comment l'installer.
Tony
0

J'ai ajouté le référentiel Ubuntu 14.04 (dans Ubuntu 18.04):

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

Je peux installer:

sudo apt install mysql-client-5.6
Rahul Thakur
la source
2
C'est vraiment une mauvaise idée . Voir askubuntu.com/questions/499800/… .
fosslinux
Ok pour le faire, mais ne mettez pas à jour, et suivez avec "-r" supprimer une fois installe d "sudo add-apt-repository -r 'deb archive.ubuntu.com/ubuntu trusty univers'" autant qu'il s'agit d'un mauvaise idée de laisser ceci dans votre repo, si vous le supprimez une fois que 5.6 est installé, je ne pense pas que ce soit une aussi mauvaise idée que le commentaire ci-dessus. La même réponse a ici 60 votes positifs, et il a fait une mise à jour apt-get, qui a plus de potentiel de causer des problèmes askubuntu.com/questions/762384/…
MagicLAMP