Installez MySql 5.6 sur Ubuntu 16.04

40

Il semble qu'Ubuntu 16.04 arrive avec MySQL 5.7, mais je dois installer 5.6.

Lorsque j'essaie de l'installer explicitement, sudo apt-get install mysql-server-5.6l'erreur suivante apparaît:

Package mysql-server-5.6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  mysql-community-server:i386 mysql-common:i386 mysql-community-server mysql-common percona-xtradb-cluster-server-5.6:i386 percona-server-server-5.6:i386 mysql-testsuite-5.7:i386
  mariadb-server-10.0:i386 percona-xtradb-cluster-server-5.6 percona-server-server-5.6 mysql-testsuite-5.7 mariadb-server-10.0 mysql-server-core-5.7:i386 mysql-server-5.7:i386 mysql-server-core-5.7
  mysql-server-5.7

Est-il possible d'installer 5.6?

Tarlog
la source
Ce MySQL 5.7.12 est un porc RAM.
DIB

Réponses:

69

J'ai utilisé l'approche suivante:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
sudo apt-get update
sudo apt install mysql-server-5.6 mysql-client-5.6

Si une erreur survient pendant l'exécution de la dernière commande, jetez un coup d'œil à la section commentaires de cette réponse.

basex
la source
10
Vous devrez peut-être sudo rm /var/lib/mysql/debian-5.7.flagou il avortera avecSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn
2
le service mysql ne démarre pas correctement. using 'systemctl status mysql.service' I get 'Impossible de démarrer LSB: démarrez et arrêtez le démon du serveur de base de données mysql'. Est-ce parce que le référentiel Trusty utilise upstart et 5.7 utilise systemd?
Jowan sebastian
1
@ jowansebastian - Avez-vous jamais compris pourquoi cela se produisait? J'ai une erreur similaire.
Barrie Reader
@BarrieReader non, désolé, j'ai créé une VM centos pour ce que je faisais et je l'ai bien fonctionné.
Jowan sebastian
+1 Savez-vous s'il existe un moyen d'installer une version spécifique de MySQL 5.6 telle que 5.6.35?
vphilipnyc
9

On dirait que j'ai réussi à le faire.

  1. Dans Logiciels et mises à jour / Autres logiciels, ajoutez le référentiel 14.04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Client et serveur mysql installé:

    sudo apt install mysql-server-5.6
    sudo apt install mysql-client-5.6
    

Mise à jour: Avant d’installer 5.6, assurez-vous qu’aucun autre paquet mysql n’est présent:

dpkg -l | grep mysql - Retourne la liste des paquets mysql.

Utilisez apt-get purge <package name>pour les purger.

Source: mise à niveau 16.04 cassé mysql-server

Tarlog
la source
1
Bonne solution, mais pourquoi avez-vous besoin de 5,6 au lieu de 5,7?
Uwe Burger
5
5.7 n'est pas compatible avec les versions antérieures. Quelques SQL d'application sur lesquels je travaille échouent ...
Tarlog
2
Quelle erreur obtenez vous? Je soupçonne que cela est dû au drapeau ONLY_FULL_GROUP_BY qui est activé par défaut dans MySQL 5.7. Réglez-le sur et tout ira bien.
Jaydee
Actuellement, je ne me souviens pas des détails, je l'ai essayé il y a presque deux mois. Si je me souviens bien, il s'agissait d'un traitement de dates. Peut-être l'analyse des dates.
Tarlog
5.7 applique effectivement le schéma de table
Richard Haven
8

Je faisais face au même problème et j'ai effectué les étapes simples ci-dessous:

 sudo apt-get install software-properties-common
 $ sudo add-apt-repository -y ppa:ondrej/mysql-5.6
 $ sudo apt-get update
 $ sudo apt-get install mysql-server-5.6

La solution a fonctionné pour moi À la vôtre !!

Ramesh Chand
la source
En plus de ces solutions: Vous devez d'abord supprimer ces dossiers: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringEt ce fichier:/var/lib/mysql/debian-5.7.flag
3
Pour citer ondrej: "ne pas utiliser, cassé" . Découvrez ici launchpad.net/~ondrej
Fractalf
3
dpkg --force-depends -P `dpkg -l |awk '/mysql/{print $2}'`

rm -r /etc/mysql/

apt-get install mysql-server mysql-client
Michal91
la source
1

Les développeurs MySQL fournissent les paquets Xenial de MySQL 5.6 dans leurs propres référentiels , ce qui devrait donc être préféré à l'installation des paquets officiels Ubuntu Trusty. , puisqu’il est généralement préférable d’installer des paquets créés pour votre version d’Ubuntu.

Si vous avez déjà des paquets MySQL Server, vous devez d'abord les désinstaller. il suffit de désinstaller tout ce qui est montré pardpkg -l | grep mysql-server .

Il suffit de télécharger et d'installer le mysql-apt-configpaquet DEB dans le lien précédent. Pendant l'installation, il vous demandera quelle version vous voulez, vous pourrez donc choisir 5.6. Une fois le paquet installé, sudo apt update && sudo apt install mysql-server-5.6installez MySQL Server 5.6.

fkraiem
la source
3
Cela ne fonctionne pas, il n'y a pas d'option de version 5.6, seulement de 5.7
Frodik
5
En effet, depuis que cette réponse a été écrite, il semble que le support de MySQL 5.6 ait été supprimé du mysql-apt-configpaquet, ce qui est bizarre car il est toujours répertorié comme supporté sur la page liée ...
fkraiem
1

J'ai eu le même problème et j'ai essayé beaucoup d'options. Et j'ai eu beaucoup de problèmes aveclibdbd-mysql-perl ; le système a dit que cela n'allait pas installer cette bibliothèque.

J'ai donc pensé à l'installer avec Aptitude qui installe un paquet et corrige toutes les dépendances.

Si vous n'avez pas d'aptitude, vous pouvez l'obtenir comme ceci:sudo apt-get install aptitude

Tout d’abord, vous devez désinstaller votre mysql existant. Ensuite, vous devez installer le paquet que vous voulez.

sudo aptitude install mysql-server-5.6

L'aptitude vous donne beaucoup d'options, quoi faire. La première option consiste à conserver le package actuel. Alors appuyez sur (N) o jusqu'à ce que vous trouviez l'option qui dit de rétrograder les prochains paquets:

libmysqlclient20 [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.7.13-0ubuntu0.16
mysql-common [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.6.30-1+deb.sury.org

puis appuyez sur (Y) et l’aptitude va installer mysql-server-5.6. Voici l'option que vous devriez accepter:

entrez la description de l'image ici

Si, après cela, le système ne peut plus se connecter au serveur mysql, vous devez redémarrer votre ordinateur.

rebduv
la source