Dans ce guide, vous apprendrez comment installer MySQL dans Ubuntu Linux, puis comment définir MySQL root
mot de passe utilisateur, et enfin comment accéder au serveur MySQL en tant que root
utilisateur.
Toutes les étapes ci-dessous sont testées sur une édition de serveur Ubuntu 20.04 LTS fraîchement installée.
Prérequis
Avant d'installer MySQL, assurez-vous que votre système Ubuntu est mis à jour avec les derniers packages :
$ sudo apt update
$ sudo apt upgrade
Une fois toutes les mises à jour installées, redémarrez votre système :
$ sudo reboot
1. Installer MySQL dans Ubuntu Linux
MySQL est disponible dans les dépôts par défaut d'Ubuntu Linux. Pour installer MySQL dans Ubuntu Linux, exécutez :
$ sudo apt install mysql-server
Cette commande installe tous les composants nécessaires pour configurer un serveur de base de données MySQL dans Ubuntu.
Pour vérifier la version de MySQL, exécutez :
$ mysql --version
Ou utilisez un V
majuscule :
$ mysql -V
Exemple de résultat :
mysql Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
1.1. Démarrer, redémarrer et arrêter le service MySQL
Dans Ubuntu, le service MySQL est automatiquement démarré une fois le serveur MySQL installé. Pour vérifier si le service MySQL est démarré ou non, exécutez :
$ sudo systemctl status mysql
Exemple de résultat :
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-05-26 10:55:17 UTC; 4min 26s ago Main PID: 1520 (mysqld) Status: "Server is operational" Tasks: 37 (limit: 2280) Memory: 332.8M CGroup: /system.slice/mysql.service └─1520 /usr/sbin/mysqld May 26 10:55:15 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server… May 26 10:55:17 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
Comme vous pouvez le voir, le service MySQL est chargé et fonctionne ! S'il n'est pas démarré pour une raison quelconque, vous pouvez démarrer le service MySQL à l'aide de la commande :
$ sudo systemctl start mysql
Pour permettre à MySQL de démarrer automatiquement à chaque redémarrage, exécutez :
$ sudo systemctl enable mysql
Pour redémarrer le service MySQL, exécutez :
$ sudo systemctl restart mysql
2. Définir le mot de passe de l'utilisateur racine MySQL
Par défaut, le mot de passe root MySQL est vide, ce qui n'est pas recommandé en production. Vous devez définir un utilisateur administratif de base de données fort et unique, c'est-à-dire un mot de passe utilisateur root. MySQL est livré avec un script nommé mysql_secure_installation
pour supprimer les paramètres par défaut non sécurisés et sécuriser le serveur de base de données.
Le mysql_secure_installation
le script fera ce qui suit :
- Configurer
VALIDATE PASSWORD COMPONENT
, - Si
VALIDATE PASSWORD COMPONENT
est activé, définissez votrepassword validation
préféré politique, - Supprimer les utilisateurs anonymes,
- Interdire
root
l'utilisateur se connecte à distance, - Supprimer la base de données de test et supprimer les privilèges sur la base de données de test,
- Rechargez enfin les tables de privilèges.
Exécutons maintenant ce script :
$ sudo mysql_secure_installation
Lorsque vous exécutez cette commande pour la première fois après l'installation de MySQL, vous serez connecté à MySQL avec un mot de passe vide. Ensuite, vous serez invité à configurer VALIDATE PASSWORD PLUGIN
.
Le VALIDATE PASSWORD PLUGIN
est utilisé pour tester les mots de passe et améliorer la sécurité. Il vérifie la force du mot de passe et permet aux utilisateurs de définir uniquement les mots de passe suffisamment sécurisés. La configuration de VALIDATE PASSWORD COMPONENT est facultative. Vous pouvez le laisser désactivé en toute sécurité . Cependant, je vous recommande d'utiliser des mots de passe forts et uniques lors de la création de rôles d'utilisateur. Si vous ne souhaitez pas activer VALIDATE PASSWORD PLUGIN
, appuyez simplement sur n'importe quelle touche pour ignorer la partie de validation du mot de passe et continuer le reste des étapes.
Je veux utiliser ce VALIDATE PASSWORD PLUGIN
, j'ai donc entré y pour oui :
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
Si vous choisissez oui , vous serez invité à choisir un niveau de stratégie de mot de passe. Trois politiques de validation de mot de passe sont disponibles. Ils sont FAIBLES , MOYEN et FORT . Chaque stratégie de mot de passe contient un ensemble de règles de mot de passe que vous devez utiliser lors de la création de nouveaux rôles de base de données. Par exemple, si vous choisissez MOYEN, le mot de passe doit contenir au moins 8 caractères dont un chiffre, des lettres minuscules et majuscules et un caractère spécial. Choisissez la politique de mot de passe qui vous convient.
J'utilise une politique de mot de passe de niveau BAS, donc je choisis 0 (zéro):
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:
Entrez ensuite deux fois le mot de passe de l'utilisateur root MySQL. Après avoir entré le mot de passe, le score de force du mot de passe sera affiché. Dans mon cas, j'ai obtenu 100. Si la force du mot de passe vous convient, appuyez sur y
pour continuer avec le mot de passe donné. Sinon, saisissez un autre mot de passe fort, puis appuyez sur Y
continuer.
Please set the password for root here. 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
Veuillez ne pas confondre cela avec la root
de votre système Compte. Il s'agit d'un compte administratif pour notre serveur de base de données.
Ensuite, appuyez sur y
et appuyez sur ENTER pour accepter les valeurs par défaut pour toutes les questions suivantes. Cela supprimera l'utilisateur anonyme, désactivera la connexion root à distance et supprimera les bases de données de test.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y 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 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 - 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!
Nous avons défini le mot de passe de l'utilisateur root MySQL.
Avez-vous oublié votre mot de passe root MySQL ? Aucun problème! Vous pouvez facilement réinitialiser le mot de passe root dans MySQL comme décrit dans les liens suivants :
- Comment réinitialiser le mot de passe root dans MySQL 8 sur Ubuntu Linux
- Comment réinitialiser le mot de passe de l'utilisateur racine MySQL sous Linux
3. Connectez-vous à MySQL
Pour vous connecter au serveur MySQL en tant que root
utilisateur, lancez simplement :
$ sudo mysql
Saisissez votre mot de passe utilisateur pour accéder à l'invite MySQL :
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, 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>
Commencez à créer les rôles d'utilisateur et les bases de données pour vos projets. Nous le couvrirons bientôt dans un guide séparé.
Pour afficher l'help
section, saisissez help
ou \h
et appuyez sur ENTER
clé :
mysql> help
Pour quitter l'invite MySQL et revenir à votre terminal, exécutez :
mysql> exit
4. Changer la méthode d'authentification pour l'utilisateur racine MySQL
Avez-vous remarqué que je me suis connecté au serveur MySQL sans fournir le mot de passe de l'utilisateur root MySQL. J'ai simplement entré le mot de passe de mon compte utilisateur système, mais pas le mot de passe de l'utilisateur root MySQL. C'est parce que l'utilisateur root de MySQL utilise auth_socket
plugin pour s'authentifier auprès du serveur MySQL dans les systèmes Ubuntu exécutant MySQL 5.7 et versions ultérieures.
Le auth_socket
Le plugin authentifie les clients qui se connectent au serveur MySQL à partir de l'hôte local via le fichier socket Unix. Vous ne pouvez donc pas vous authentifier sur le serveur MySQL en tant que root
utilisateur en fournissant un mot de passe.
Si vous souhaitez utiliser l'authentification par mot de passe pour l'utilisateur racine MySQL, vous devez reconfigurer le serveur MySQL pour utiliser une méthode d'authentification différente, comme décrit dans l'article suivant.
>> Change Authentication Method For MySQL Root User In Ubuntu
Conclusion
Dans ce guide, nous avons appris à installer MySQL dans le système d'exploitation Ubuntu Linux. Nous avons également appris comment définir le mot de passe de l'utilisateur root MySQL et comment accéder ou se connecter au serveur MySQL en tant que root
utilisateur.