Maison > base de données > tutoriel mysql > Pourquoi mon utilisateur root MySQL/MariaDB manque-t-il de privilèges et affiche-t-il « Accès refusé » ?

Pourquoi mon utilisateur root MySQL/MariaDB manque-t-il de privilèges et affiche-t-il « Accès refusé » ?

Barbara Streisand
Libérer: 2024-12-10 01:36:10
original
379 Les gens l'ont consulté

Why Does My MySQL/MariaDB Root User Lack Privileges, Showing

"Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) - Aucun privilège ?"

Cette erreur se produit lorsque l'utilisateur root de MySQL ne dispose pas des privilèges nécessaires pour effectuer une opération.

Schéma nul de l'utilisateur root Privilèges

Habituellement, l'utilisateur root dispose de tous les privilèges. Cependant, dans ce cas, il est signalé que les privilèges de schéma de la racine sont nuls, ce qui indique qu'il ne dispose d'aucune autorisation.

Impact sur diverses plates-formes

Ce problème affecte l'utilisateur capacité à exploiter le serveur MySQL sur différentes plates-formes. L'utilisateur rencontre des obstacles même lorsqu'il est connecté en tant que "[email protected]".

Tentatives de dépannage

L'utilisateur a tenté diverses solutions, telles que "FLUSH HOSTS". et "FLUSH PRIVILEGES", mais ceux-ci se sont révélés infructueux.

Solution pour MySQL 5.7

Si vous rencontrez ce problème dans MySQL 5.7 ou version ultérieure, la solution consiste à activer l'authentification par mot de passe :

  1. Exécutez la requête SQL suivante :

    SELECT user, authentication_string, plugin, host FROM mysql.user;
    Copier après la connexion
  2. Notez que la "authentication_string" pour l'utilisateur root ne doit pas être vide. Si tel est le cas, mettez-le à jour avec le mot de passe root actuel :

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Current-Root-Password>';
    Copier après la connexion
  3. Vinez les privilèges :

    FLUSH PRIVILEGES;
    Copier après la connexion

Solution pour MariaDB

Pour MariaDB, utilisez la requête suivante pour définir le nom de l'utilisateur root mot de passe :

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');
Copier après la connexion

Vous pouvez trouver plus d'informations sur https://mariadb.com/kb/en/set-password/.

Remarque :

Après avoir désactivé les plugins d'authentification ou modifié le mot de passe de l'utilisateur root, il est recommandé d'exécuter la commande "mysql_secure_installation" pour améliorer sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal