Est-il possible d'installer MySQL Server 5.7 sur Ubuntu 19.10? Si oui, comment?
Le serveur MySQL 5.7 n'est pas disponible dans les référentiels d'Eoan Ermine (19.10) mais est disponible dans Bionic Beaver (18.04) à partir des répertoires officiels d'Ubuntu ainsi que de MySQL. Vous pouvez installer MySQL Server 5.7 sur Eoan en utilisant le référentiel de Bionic.
Pour utiliser le référentiel de MySQL pour Ubuntu 18.04
Créez d'abord un nouveau fichier texte avec les privilèges Sudo:
Sudo nano /etc/apt/sources.list.d/mysql.list
Ajoutez ces lignes:
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-5.7
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools
#deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools-preview
deb-src http://repo.mysql.com/apt/ubuntu/ bionic mysql-5.7
Vous pouvez commenter/décommenter le référentiel en fonction des packages requis. Enregistrer et quitter en utilisant Ctrl+X suivi par Y. Ensuite, exécutez
Sudo apt update
Vous obtiendrez une erreur, comme
Err:1 http://repo.mysql.com/apt/ubuntu bionic InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY <some key value>
Ajoutez cette clé en utilisant
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <key value>
Mettez à jour et vérifiez quelle version de MySQL 5.7 est actuellement disponible
Sudo apt update
apt-cache policy mysql-server
Au moment de la rédaction de cette réponse, 5.7.29-1ubuntu18.04 était disponible.
Installez la version MySQL requise.
Sudo apt install mysql-server=5.7.29-1ubuntu18.04
Note: Pour certaines raisons dans mon installation APT n'installait pas mysql-client lors de l'installation de MySQL Server 5.7 qui est une dépendance de MySQL Community Server qui à son tour est un dépendance de MySQL Server en raison des problèmes de dépendance survenus. Pour en sortir, je devais installer le client MySQL en utilisant APT first
Sudo apt install mysql-client=5.7.29-1ubuntu18.04
Pour installer à l'aide des référentiels d'Ubuntu, ajoutez les référentiels officiels d'Ubuntu 18.04, mettez à jour le cache et installez MySQL 5.7. Fo qui court:
echo "deb http://security.ubuntu.com/ubuntu/ bionic-security restricted main" | Sudo tee /etc/apt/sources.list.d/bionic.list
Sudo apt update
apt-cache policy mysql-server
Sudo apt install mysql-server=5.7.29-0ubuntu0.18.04.1
Je recommande de supprimer le référentiel de Bionic après l'installation car avoir des informations sur le référentiel d'autres versions peut parfois interrompre l'installation. Pour ce faire, courez
Sudo rm /etc/apt/sources.list.d/bionic.list
Ajoutant à la réponse de Kulfy. Si vous souhaitez empêcher la mise à jour du package vers MySQL 8+, créez un fichier nommé mysql
dans /etc/apt/preferences.d/
.
Dans ce fichier, placez le contenu suivant
Package: mysql-server
Pin: version 5.7.29-1ubuntu18.04
Pin-Priority: 1001
Package: mysql-client
Pin: version 5.7.29-1ubuntu18.04
Pin-Priority: 1001
Package: mysql-community-server
Pin: version 5.7.29-1ubuntu18.04
Pin-Priority: 1001
Package: mysql-community-client
Pin: version 5.7.29-1ubuntu18.04
Pin-Priority: 1001
Cela empêchera apt upgrade
De mettre à niveau MySQL vers la version 8.
REMARQUE: La version que vous utilisez peut être différente, au 2/12/2020 la version est 5.7.29-1ubuntu18.04
. Pour obtenir la version, exécutez apt list --installed | grep -E 'mysql-(client|server)'
.