Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment configurer et se connecter en tant qu'utilisateur root dans MySQL

Un compte root est un compte superutilisateur qui offre un large éventail de privilèges dans les bases de données de MySQL. Par défaut, le mot de passe initial du compte root est "empty/blank", permettant ainsi à n'importe qui d'accéder au serveur MySQL en tant que root.

Remarque : Un mot de passe vide/vide signifie qu'il n'y a pas de mot de passe ; par conséquent, n'importe qui peut se connecter tant que les privilèges MySQL ont été accordés.

Pour vous connecter en tant qu'utilisateur root sous Linux :

  1. Sélectionnez le menu Démarrer > Déconnexion dans le coin supérieur droit. Cela vous permet de vous déconnecter du compte utilisateur que vous utilisez actuellement.
  2. Vous verrez maintenant une fenêtre de connexion, et c'est ici que vous vous connectez en utilisant le nom d'utilisateur "root" et le mot de passe que vous avez configuré pour l'utilisateur root. S'il y a plusieurs utilisateurs dans la fenêtre de connexion, sélectionnez-en d'autres et connectez-vous.

Si le mot de passe n'est pas configuré ou si vous avez oublié ou devez modifier votre mot de passe MySQL, vous trouverez ci-dessous un guide sur la façon de configurer/récupérer le mot de passe.

Comment configurer, modifier et récupérer un mot de passe racine MySQL

Il y a de fortes chances que vous ayez déjà MySQL exécuté ailleurs dans votre base de données. Dans ce cas, il peut arriver que vous deviez modifier ou configurer le mot de passe de l'utilisateur root. Cela peut être dû à l'oubli du mot de passe root ou simplement à la volonté de renforcer votre mot de passe.

Ce processus est géré via la ligne de commande et fonctionne avec les installations MySQL ou MariaDB. Et bien, tant que vous avez un accès administrateur, que ce soit en utilisant les syntaxes sudo ou su, la distribution Linux que vous utilisez n'a pas d'importance puisque le processus est similaire.

Attention :il y a eu de nombreuses attaques dans le paysage informatique, nécessitant donc des mots de passe très forts, ce que je recommande vivement pour vos bases de données. Vous pouvez essayer un générateur de mot de passe non systématique, puis enregistrer le mot de passe à l'aide d'un gestionnaire de mots de passe.

Continuons.

Définir le mot de passe pour la première fois

Généralement, lors de l'installation de MySQL, vous devez définir un mot de passe initial. Cependant, si cela n'a pas été fait lors de l'installation et de la configuration de MySQL, vous devrez d'abord définir un mot de passe. Voici comment procéder :

  1. Tout d'abord, ouvrez une fenêtre de terminal.
  2. Après avoir lancé le terminal, collez et exécutez cette commande :
mysqladmin -u root password Fosslinux

Fosslinux est le mot de passe que vous utiliserez à partir de maintenant, cela signifie que chaque fois que vous vous connectez à MySQL en utilisant la commande mysql -u root -p , vous devrez saisir le mot de passe que nous venons de configurer.

Remarque : Si vous rencontrez l'erreur suivante :Accès refusé pour l'utilisateur 'root'@'localhost,' faites défiler vers le bas pour trouver la solution fournie dans cet article.

Vous pouvez également utiliser la méthode suivante pour configurer le mot de passe root pour la première fois. Utilisez la commande ci-dessous :

mysql_secure_installation

Cette commande définira le mot de passe de l'utilisateur root et vous permettra de vous débarrasser des utilisateurs anonymes et de la base de données de test. De plus, il interdira également la connexion root à distance. Ceci, à son tour, vous assure davantage de la sécurité concrète de votre base de données MySQL.

Après avoir configuré le mot de passe root MySQL pour la première fois, il est temps d'apprendre à le changer.

Modification du mot de passe de l'utilisateur racine MySQL

Pour changer le mot de passe root MySQL, suivez les étapes mentionnées ici :

  • Tout d'abord, créez un nouveau fichier à l'aide de la commande ci-dessous :
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Fosslinux$11';

Fosslinux$11 est le nouveau mot de passe qui sera utilisé. N'oubliez pas de respecter la politique de mot de passe actuelle en combinant des caractères majuscules, minuscules, numériques et spéciaux.

Enregistrez le fichier sous ~/mysql-pwd

  • Ensuite, arrêtez le démon MySQL à l'aide de la commande suivante :
sudo systemctl stop mysql
  • Maintenant que le démon est arrêté, lancez et exécutez la commande suivante sur votre terminal :
sudo mysqld -init-file=~/mysql-pwd
  • Dès que l'invite de commande a terminé l'exécution de la commande ci-dessus, continuez et redémarrez le démon MySQL à l'aide de la commande suivante :
sudo systemctl start mysql
  • À ce stade, vous devriez pouvoir vous connecter à l'invite de commande MySQL à l'aide du code d'accès administrateur nouvellement défini en exécutant la commande ci-dessous :
mysql -u root -p

Lorsqu'une invite apparaît, saisissez le mot de passe administrateur que vous avez créé et vous serez prêt à partir.

Maintenant que nous avons fructueusement appris à changer le mot de passe root MySQL nouvellement créé, il est temps d'apprendre à récupérer un mot de passe root MySQL oublié ou perdu.

Récupérer votre mot de passe MySQL

Eh bien, disons que vous avez oublié votre mot de passe utilisateur root MySQL et que vous avez désespérément besoin de le récupérer. Tout ce que vous avez à faire est de suivre les étapes mentionnées ici :

1. Arrêtez le processus du serveur MySQL à l'aide de la commande :

sudo service mysql stop

2. Démarrez le serveur MySQL à l'aide de la commande suivante :

sudo mysqld_safe --skip-grant-tables --skip-networking &

3. Connectez-vous au serveur MySQL en tant qu'utilisateur root à l'aide de la commande :

mysql -u root

Vous devrez émettre les commandes MySQL suivantes pour réinitialiser le mot de passe root après avoir terminé les étapes mentionnées ci-dessus :

mysql> use mysql;

mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';

mysql> flush privileges;

mysql> quit

Remarque :N'oubliez pas que NEWPASSWORD fait référence au nouveau mot de passe que vous utiliserez pour vous connecter en tant qu'utilisateur root.

Une fois que vous avez terminé d'exécuter toutes les commandes mentionnées ci-dessus, continuez et redémarrez le démon MySQL à l'aide de cette commande :

sudo service mysql restart

À présent, vous devriez pouvoir vous connecter à MySQL en utilisant le mot de passe nouvellement défini.

C'est tout. Nous pensons que vous êtes maintenant en mesure de définir, réinitialiser et récupérer votre mot de passe root MySQL.

Un point clé à noter : N'oubliez pas de définir un mot de passe très fort pour l'utilisateur root de MySQL. Un mot de passe difficile à déchiffrer. Cela renforcera la sécurité de vos bases de données. Comme vous le savez déjà, les bases de données contiennent des données très sensibles, donc la dernière chose que vous souhaitez est que quiconque accède à vos informations sans votre consentement. L'utilisation d'un mot de passe long et de mots de passe difficiles à mémoriser et à deviner est fortement recommandée. Si vous utilisez un générateur de mots de passe pour créer votre mot de passe, n'oubliez pas de le stocker dans un coffre-fort de mots de passe.

Lors de l'utilisation de MySQL, vous pourriez être très gêné si vous rencontrez des messages d'erreur. Par exemple, la plupart des utilisateurs se plaignent d'être confrontés à ce message d'erreur :Accès refusé pour l'utilisateur root@localhost. Ce n'est peut-être pas très agréable, mais nous avons une solution pour vous.

Comment résoudre l'erreur MySQL :Accès refusé pour l'utilisateur root@localhost

Ce message d'erreur apparaît généralement pour les nouvelles installations de MySQL lorsque vous essayez de vous connecter à MySQL avec l'utilisateur root.

Voici comment résoudre rapidement l'accès refusé pour l'utilisateur root sur localhost. Les étapes décrites peuvent être utilisées à la fois pour MySQL et MariaDB. Vous n'avez pas à modifier les tables ni à effectuer de configurations complexes.

Comme nous l'avons déjà vu dans cet article, lorsque vous installez MySQL et que vous souhaitez y accéder sur la machine locale avec l'utilisateur root, vous utilisez la commande suivante :

mysql -u root -p

Dans la plupart des cas, vous recevrez le message d'erreur que nous venons de mentionner :"Accès refusé pour l'utilisateur root@localhost."

Pour vous connecter à MySQL en tant que root, utilisez d'abord sudo pour apporter des modifications à l'utilisateur root :

sudo mysql

Ensuite, entrez votre mot de passe à l'invite. Un shell MySQL va se charger.

Utilisez la commande ALTER USER et modifiez la méthode d'authentification pour vous connecter à MySQL en tant que root :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';

Exemple :

Pour le tutoriel, je vais changer le mot de passe en "Fosslinux comme indiqué dans la ligne de commande et la sortie ci-dessous :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fosslinux';

Sortie

Ce que fait la ligne de commande ci-dessus, c'est qu'elle change le mot de passe de l'utilisateur root et définit la méthode d'authentification sur mysql_native_password . Il s'agit d'un mode d'authentification traditionnel. Malheureusement, dans la plupart des cas, l'erreur ci-dessus se produit puisque le mode d'authentification utilisé est auth_plugin qui n'est pas sûr, d'où l'erreur.

Remarque : Lors de la saisie du mot de passe souhaité, assurez-vous qu'il respecte les règles fournies par le mot de passe, une combinaison de lettres majuscules et minuscules plus des chiffres si vous avez l'intention de saisir un mot de passe plus fort.

Après avoir exécuté les commandes répertoriées ci-dessus, quittez le shell MySQL en cliquant sur CTRL + D sur votre clavier ou tapez "exit" sur le shell MySQL et cliquez sur Entrée. Vous n'avez pas besoin de redémarrer le service MySQL pour vous connecter à l'aide de la commande ci-dessous :

sudo service mysql restart 

À ce stade, vous pouvez à nouveau tenter d'accéder à MySQL avec root. Dans le terminal, saisissez :

mysql -u root -p

Entrez le mot de passe que vous avez utilisé avec la commande ALTER USER et n'entrez pas le mot de passe système pour essayer d'accéder à MySQL car cela ne fonctionnera pas. Vous devriez maintenant voir le message de bienvenue de MySQL si tout s'est bien passé.

Remarque :La commande ALTER USER peut ne pas fonctionner pour les versions de MySQL et MariaDB antérieures à 5.7.6 et 10.1.20, respectivement.

En résumé, vous êtes maintenant en mesure de contourner l'ERREUR MySQL 1698 (28000):Accès refusé pour l'utilisateur 'root'@'localhost'. Il existe différentes façons de contourner cette erreur, mais nous avons utilisé la méthode beaucoup plus simple et plus rapide. Assurez-vous de saisir les commandes indiquées dans cet article pour éviter les erreurs de syntaxe SQL. Il est plus conseillé de les copier-coller.

Conclusion

Cet article explique et décompose tous les sujets liés à la connexion de l'utilisateur root dans MySQL. Il vous montre non seulement comment vous connecter en tant qu'utilisateur root à MySQL, mais il vous montre également comment vous assurer de le faire sans rencontrer d'erreurs et comment contourner l'erreur la plus courante au cas où elle se produirait.

L'article détaille en outre les étapes pour configurer, modifier et récupérer un mot de passe root MySQL et configurer le mot de passe root pour la première fois. Assurez-vous de respecter tous les processus fournis dans cet article pour éviter les failles de sécurité en utilisant des combinaisons de mots de passe forts. Nous espérons que l'article sera utile. Si oui, donnez un coup de pouce via la section des commentaires.