Comment installer et utiliser MySQL 8 sur Ubuntu 22.04
MySQL est une plateforme de gestion de bases de données relationnelles gratuite et open source optimisée par Oracle Cloud. Il est très populaire en raison de sa fiabilité éprouvée, de sa rapidité de traitement, de sa facilité et de sa flexibilité. Il utilise le langage de requête structuré pour ajouter, accéder et gérer le contenu d'une base de données. MySQL 8.0 stocke ses métadonnées dans un moteur de stockage transactionnel éprouvé appelé InnoDB. Il fonctionne sur une architecture client/serveur et peut être installé sur tous les principaux systèmes d'exploitation, notamment Ubuntu, Windows, CentOS et Debian.
Ce tutoriel vous montrera comment installer MySQL 8 sur le serveur Ubuntu 22.04.
Conditions préalables
- Un serveur exécutant Ubuntu 22.04.
- Un mot de passe root est configuré sur votre serveur.
Commencer
Tout d’abord, mettez à jour et mettez à niveau tous les packages système vers la dernière version en exécutant la commande suivante :
apt update -y
apt upgrade -y
Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.
Installer MySQL 8 Ubuntu 22.04
Par défaut, la dernière version du serveur MySQL est incluse dans le référentiel par défaut d'Ubuntu. Vous pouvez l'installer en exécutant la commande suivante :
apt install mysql-server -y
Une fois le serveur MySQL installé, vous pouvez vérifier la version de MySQL à l'aide de la commande suivante :
mysql --version
Vous devriez voir la version de MySQL dans le résultat suivant :
mysql Ver 8.0.30-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.
Gérer le service MySQL
Par défaut, le service MySQL est géré par systemd. Vous pouvez facilement démarrer, arrêter et vérifier l'état de MySQL à l'aide de la commande systemctl.
Pour démarrer le service MySQL, exécutez la commande suivante :
systemctl start mysql
Pour arrêter le service MySQL, exécutez la commande suivante :
systemctl stop mysql
Vous pouvez vérifier l'état du service MySQL à l'aide de la commande suivante :
systemctl status mysql
Vous devriez voir le résultat suivant :
? mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-08-21 12:47:24 UTC; 28s ago
Process: 26157 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 26185 (mysqld)
Status: "Server is operational"
Tasks: 41 (limit: 2242)
Memory: 359.8M
CPU: 1.383s
CGroup: /system.slice/mysql.service
??26185 /usr/sbin/mysqld
Aug 21 12:47:23 ubuntu2204 systemd[1]: Starting MySQL Community Server...
Aug 21 12:47:24 ubuntu2204 systemd[1]: Started MySQL Community Server.
Par défaut, MySQL écoute sur le port 3306. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep -i mysql
Vous devriez voir le port d'écoute MySQL dans le résultat suivant :
LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* users:(("mysqld",pid=26185,fd=21))
LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=26185,fd=23))
Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.
Installation sécurisée de MySQL
Ensuite, c'est toujours une bonne idée d'exécuter le script mysql_secure_installation pour activer certaines fonctionnalités de sécurité supplémentaires, notamment définir un nouveau mot de passe root MySQL, supprimer l'utilisateur anonyme et désactiver la connexion à distance.
mysql_secure_installation
Répondez à toutes les questions comme indiqué ci-dessous :
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT 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 component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Please set the password for root here.
Il vous sera demandé de définir un nouveau mot de passe comme indiqué ci-dessous :
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
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
Success.
Tapez Y et appuyez sur la touche Entrée pour supprimer l'utilisateur anonyme.
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
Success.
Tapez Y et appuyez sur la touche Entrée pour interdire la connexion root à distance.
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
Tapez Y et appuyez sur la touche Entrée pour supprimer la base de données de test.
- 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
Success.
All done!
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Définir le mot de passe racine MySQL
Par défaut, le mot de passe root MySQL n'est pas défini. Pour le définir, connectez-vous au shell MySQL :
mysql
Une fois connecté au shell MySQL, définissez le mot de passe MySQL avec la commande suivante :
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'securepassword';
Ensuite, exécutez la commande suivante pour enregistrer les modifications :
mysql> FLUSH PRIVILEGES;
Ensuite, quittez le shell MySQL à l'aide de la commande suivante :
mysql> EXIT;
Ensuite, connectez-vous à nouveau au shell MySQL pour vérifier le mot de passe root :
mysql -u root -p
Une fois connecté, vous entrerez dans le shell MySQL comme indiqué ci-dessous :
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.30-0ubuntu0.22.04.1 (Ubuntu)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
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>
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer une base de données et un utilisateur dans MySQL
Créons une base de données nommée db1 à l'aide de la commande suivante :
mysql> CREATE DATABASE db1;
Vous pouvez vérifier votre base de données créée à l'aide de la commande suivante :
mysql> SHOW databases;
Vous obtiendrez le résultat suivant :
+--------------------+
| Database |
+--------------------+
| db1 |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
Pour remplacer la base de données par db1, exécutez la commande suivante :
mysql> USE db1;
Pour créer un utilisateur nommé dbuser, exécutez la commande suivante :
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'password';
Pour accorder tous les privilèges à dbuser sur toutes les bases de données, exécutez la commande suivante :
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' WITH GRANT OPTION;
Pour enregistrer les modifications, exécutez la commande suivante :
mysql> FLUSH PRIVILEGES;
Vous pouvez quitter le shell MySQL à l'aide de la commande suivante :
mysql> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Désinstaller le serveur MySQL
Si vous souhaitez supprimer le serveur MySQL de votre serveur, exécutez la commande suivante :
apt remove mysql-server --purge
Ensuite, supprimez tous les packages indésirables à l'aide de la commande suivante :
apt autoremove
Conclusion
Dans cet article, vous avez appris comment installer MySQL 8 sur Ubuntu 22.04. Vous avez également appris à gérer le service MySQL et à créer une base de données et un utilisateur. Vous pouvez maintenant commencer à créer de nouvelles bases de données et utilisateurs de bases de données dans MySQL.