Présentation
La plupart des utilisateurs de MySQL ont rencontré l'ERREUR 1698 (28000) :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 la racine utilisateur.
Ce guide vous montrera comment résoudre rapidement l'accès refusé pour l'utilisateur root sur hôte local . Les instructions décrites s'appliquent à la fois à MySQL et à MariaDB. Il ne sera pas nécessaire de modifier les tables ou d'effectuer une configuration complexe.
Prérequis
- Accès à une ligne de commande ou à une fenêtre de terminal
- MySQL ou MariaDB installé
- Utilisateur avec sudo ou racine privilèges
Utiliser la racine pour accéder à MySQL
Lorsque vous installez MySQL et essayez d'y accéder sur la machine locale avec l'utilisateur root, la commande que vous utilisez est :
mysql -u root -p
Dans la plupart des cas, vous recevrez le message d'erreur Accès refusé pour l'utilisateur 'root'@'localhost' .
Vous pouvez activer l'accès pour root en utilisant une seule commande MySQL.
Résoudre l'accès refusé pour l'erreur racine de l'utilisateur
Pour pouvoir vous connecter à MySQL en tant que root, utilisez d'abord sudo
pour modifier l'utilisateur root :
sudo mysql
Entrez votre mot de passe à l'invite. Un shell MySQL se charge.
Utilisez le ALTER USER
commande et changez 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';
Cette commande 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'une méthode traditionnelle d'authentification, et elle n'est pas aussi sécurisée que auth_plugin . Dans l'exemple ci-dessus, nous définissons "root" comme mot de passe, mais nous vous encourageons à définir un mot de passe plus fort.
Tester l'accès MySQL de l'utilisateur racine
Après avoir exécuté les commandes répertoriées ci-dessus, quittez le shell MySQL en appuyant sur CTRL + D sur votre clavier ou tapez exit;
et appuyez sur Entrée . Il n'est pas nécessaire de redémarrer le mysqld service pour se connecter.
Maintenant, essayez à nouveau d'accéder à MySQL avec root. Dans le terminal, tapez :
mysql -u root -p
Entrez le mot de passe que vous avez utilisé avec le ALTER USER
commande. Ne saisissez pas le mot de passe du système pour accéder à MySQL car cela ne fonctionnera pas. Si tout a bien fonctionné, vous devriez voir le message de bienvenue de MySQL.