Installer MySQL Server 8 sur Ubuntu 18.04
Début janvier, je donne une formation à l’administration de MySQL sur Ubuntu. Habituellement, les formations que je dispense sont réalisées à plus de 95% sur CentOS. Là, le client travaille en production dans un environnement Ubuntu.
Du coup, je me suis penché sur la manière d’installer MySQL Server 8 sur Ubuntu.
Configurer les dépôts MySQL sous Ubuntu
Vous devez tout d’abord télécharger le paquet mysql-apt-config_0.8.11-1_all.deb :
wget https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb aptitude install ./mysql-apt-config_0.8.11-1_all.deb
Le gestionnaire de configuration de paquets vous propose de choisir votre configuration.
Après validation, un fichier /etc/apt/sources.list.d/mysql.list comprenant la liste des dépôts a été ajouté à votre distribution Ubuntu, contenant, notamment :
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0 deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools
Installation de MySQL Server 8 sur Ubuntu
L’installation se fait de manière très simple, à l’aide de la commande apt-get ou de aptitude :
aptitude update aptitude install mysql-community-server
Le gestionnaire de paquets propose d’associer un mot de passe à votre compte root !
Il vous propose également de choisir le niveau de chiffrement de votre mot de passe. La méthode proposée par défaut au niveau de MySQL 8 n’est pas compatible avec l’utilitaire de benchmarking sysbench.
Lancement de MySQL Server 8
Après l’exécution du gestionnaire de paquets, MySQL Server 8 est automatiquement démarré sur Ubuntu. Vous pouvez contrôler l’exécution du service mysql à l’aide de la commande systemctl :
systemctl status mysql systemctl restart mysql systemctl stop mysql systemctl start mysql systemctl disable mysql systemctl enable mysql
Renforcement de la sécurité
Sous Ubuntu, comme sur les autres distributions, vous disposez d’un script de renforcement de la sécurité de MySQL :
mysql_secure_installation
Chargement des bases d’exemples
Les liens vers les scripts de chargement de bases d’exemple se trouvent sur cette page de documentation MySQL.
wget http://downloads.mysql.com/docs/world.sql.zip wget http://downloads.mysql.com/docs/world_x-db.zip wget http://downloads.mysql.com/docs/sakila-db.zip
Pour les décompresser :
unzip world.sql.zip unzip sakila-db.zip unzip world_x-db.zip
Pour les injecter dans le moteur de bases de données MySQL :
mysql -u root -p < world.sql mysql -u root -p < sakila-db/sakila-schema.sql mysql -u root -p < sakila-db/sakila-data.sql mysql -u root -p < world_x-db/world_x.sql
Installer MySQL Workbench
MySQL Workbench est un GUI fourni par Oracle, pour administrer plus simplement MySQL et modéliser vos bases de données. A près l’ajout du dépôt de l’éditeur (Cf. ci-dessus), vous pouvez installer le GUI sur votre Xubuntu / Kubuntu / Lubuntu, à partir de la ligne de commandes, comme suit :
aptitude install mysql-workbench-community
Utiliser HeidiSQL
La version HeidiSQL 9.5 de décembre 2017 n’est plus compatible avec MySQL 8, lorsque vous choisissez la nouvelle méthode d’authentification caching_sha2_password.
La solution consiste à reprenant l’ancienne méthode d’authentification mysql_native_password pour l’utilisateur :
ALTER USER 'votre_compte_utilisateur'@'192.168.1.%' IDENTIFIED WITH mysql_native_password BY 'votre_mot_de_passe';