MySQL est un système de gestion de base de données open source couramment utilisé dans les piles d'applications Web pour stocker et récupérer des enregistrements et des informations.
MySQL était la principale application de base de données pour le système d'exploitation Linux jusqu'à MariaDB , un fork de MySQL, est entré en scène. MySQL a d'abord été développé par MYSQL AB, maintenant propriété d'Oracle Corporation.
Dans ce guide, nous verrons à travers les étapes pour installer MySQL 8 sur Ubuntu 18.04.
Nouveautés de MySQL 8.0
- MySQL intègre désormais un dictionnaire de données transactionnelles
- Prend en charge les rôles, un ensemble de privilèges.
- Stocke l'historique des mots de passe
- Le jeu de caractères par défaut est passé de latin1 à utf8mb4.
- Améliorations dans InnoDB et JSON
- Meilleure gestion des ressources
- La journalisation des erreurs a été réécrite pour utiliser l'architecture des composants MySQL
- Améliorations de la réplication MySQL
Installer MySQL 8.0 sur Ubuntu 18.04
Comme vous le savez déjà, le serveur MySQL n'est plus distribué via l'image du système d'exploitation de base ou les référentiels du système d'exploitation en raison de problèmes de licence.
Dans un premier temps, nous allons maintenant configurer le référentiel officiel MySQL sur le système.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
Installez le package du référentiel à l'aide de dpkg
commande.
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
Le programme d'installation de MYSQL vous invitera à sélectionner le référentiel MySQL. En fonction de votre sélection, le programme d'installation configurera les dépôts sur le système pour recevoir la version appropriée de MySQL.
Ici, je vais choisir le MySQL 8.0
qui est celui par défaut. Sélectionnez ensuite OK, puis appuyez sur Entrée.
Pour installer MySQL 5.7, accédez à la section Installer MySQL 5.7 pour en savoir plus sur la sélection du référentiel MySQL 5.7.
Mettez à jour l'index du référentiel à l'aide de apt-get update
commande.
sudo apt-get update
Utilisez le apt
commande pour installer la dernière version stable de MySQL .
sudo apt-get -y install mysql-server
Le programme d'installation du package vous invitera à définir le mot de passe root MySQL.
Saisissez à nouveau le mot de passe.
MySQL 8.0 utilise une nouvelle authentification basée sur des méthodes de mot de passe SHA 256 améliorées. Si vous choisissez cette option, les anciens clients risquent de ne pas pouvoir se connecter au serveur. Vous pouvez modifier l'authentification par défaut à tout moment en définissant default-authentication-plugin = mysql_native_password
dans le fichier de configuration.
Sélectionnez le plug-in d'authentification par défaut.
Installer MySQL 5.7 sur Ubuntu 18.04
Nous allons maintenant configurer le dépôt officiel MySQL sur le système.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
Installez le package du référentiel à l'aide de dpkg
commande.
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
OU
Si le système dispose déjà du package de référentiel MySQL et que vous souhaitez installer MySQL 5.7 sur le système.
sudo dpkg-reconfigure mysql-apt-config
Le programme d'installation du package MySQL vous invitera à sélectionner le référentiel MySQL. En fonction de votre sélection, le programme d'installation configurera les référentiels pour recevoir la version appropriée de MySQL.
Appuyez sur la touche Entrée pour changer la version de MySQL dans cette fenêtre.
Choisissez le mysql-5.7
puis appuyez sur entrée.
Choisissez OK, puis appuyez sur Entrée.
Mettez à jour l'index du référentiel à l'aide de la commande apt.
sudo apt-get update
Exécutez la commande ci-dessous pour installer MySQL 5.7 sur votre machine.
sudo apt-get -y install mysql-server
Le programme d'installation du package vous invitera à définir le mot de passe root MySQL.
Saisissez à nouveau le mot de passe.
Démarrer le serveur MySQL
Après l'installation de MySQL, vous pouvez démarrer le serveur MySQL à l'aide de la commande suivante.
sudo systemctl start mysql
Activer le serveur MySQL au démarrage du système.
sudo systemctl enable mysql
Vérifiez que le service du serveur MySQL est démarré à l'aide de la commande suivante.
sudo systemctl status mysql
Sortie :
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-05-14 11:15:52 UTC; 27min ago Main PID: 3269 (mysqld) Tasks: 27 (limit: 1997) CGroup: /system.slice/mysql.service └─3269 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid May 14 11:15:51 mysqlub18 systemd[1]: Starting MySQL Community Server... May 14 11:15:52 mysqlub18 systemd[1]: Started MySQL Community Server.
Serveur MySQL sécurisé
Dans un premier temps après l'installation, nous devons exécuter le script sécurisé MySQL fourni avec le package pour rendre cette instance MySQL plus sécurisée.
sudo mysql_secure_installation
Cette commande nécessite un mot de passe root MySQL.
Securing the MySQL server deployment. Enter password for user root: <-- Enter MySQL root password VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No: n <-- N for not to validate the password Using existing password for root. Change the password for root ? ((Press y|Y for Yes, any other key for No) : no <-- No, as we have already set root password ... skipping. By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : y <-- Remove anonymous users Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y <-- Disallow root login Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y <-- Remove test database - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y <-- Reload privilege table Success. All done!
Travailler avec le serveur MySQL
Connectez-vous au serveur MySQL avec l'utilisateur root et le mot de passe que vous avez défini lors de l'installation de MySQL.
mysql -u root -p
MySQL 8.0 :
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.11 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
MySQL 5.7 :
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.21 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
C'est tout.