Accès refusé pour l'utilisateur 'root'@'localhost' - Aucun privilège : restauration de l'accès root
Ce problème survient en raison d'un manque de privilèges pour l'utilisateur root dans MySQL. Les privilèges du schéma racine sont essentiels pour effectuer des tâches administratives et accorder des privilèges à d'autres utilisateurs.
Causes :
- Les privilèges ont été révoqués ou accidentellement modifiés.
- La méthode d'authentification pour l'utilisateur root a été modifiée en connexion socket dans MySQL 5.7 et ci-dessus.
Solution :
Pour MySQL 5.6 et versions antérieures :
- Démarrez MySQL avec le -u indicateur root pour obtenir un accès root sans mot de passe.
- Exécutez GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' pour accorder tous les privilèges à l'utilisateur root.
- Flush les privilèges à l'aide de FLUSH PRIVILEGES.
Pour MySQL 5.7 et supérieur :
- Vérifiez si le plugin d'authentification pour l'utilisateur root est défini sur auth_socket. Si tel est le cas, mettez-le à jour avec mysql_native_password en utilisant ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password'.
- Flush privilèges.
Pour MariaDB :
- Utilisez SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager').
- Flush privilèges.
Autres conseils :
- Si l'erreur persiste, vérifiez toute autre contrainte de sécurité ou problème de configuration.
- Utilisez la commande SHOW GRANTS pour vérifier les privilèges accordés à l'utilisateur root.
- Réinitialisation du mot de passe root à l'aide de mariadb-secure-installation le script peut résoudre le problème.
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!
Déclaration: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