Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens « Accès refusé pour l'utilisateur » dans MySQL ?

Pourquoi est-ce que j'obtiens « Accès refusé pour l'utilisateur » dans MySQL ?

Linda Hamilton
Libérer: 2024-11-03 06:26:30
original
261 Les gens l'ont consulté

Why Am I Getting

MySQL : résolution de l'erreur « Accès refusé pour l'utilisateur »

Lors de la création et de l'octroi de privilèges à un nouvel utilisateur MySQL, vous pouvez rencontrer l'erreur "Accès refusé à l'utilisateur". Ce problème survient lorsque l'utilisateur ne dispose pas des privilèges appropriés ou tente de se connecter à la base de données à partir d'un emplacement non autorisé.

Pour résoudre cette erreur, commencez par vérifier la déclaration d'octroi. Assurez-vous de fournir le nom d'utilisateur correct et d'accorder des privilèges sur la base de données et les tables spécifiques auxquelles l'utilisateur doit accéder. Par exemple, au lieu d'utiliser "GRANT ALL ON .", vous pouvez accorder uniquement les privilèges nécessaires sur des tables ou un schéma spécifiques, tels que :

GRANT SELECT, INSERT, UPDATE, DELETE ON servname_shbusers.* TO 'servname_shb'@'localhost';
Copier après la connexion

De plus, assurez-vous que le l'utilisateur tente de se connecter à la base de données à partir d'un hôte autorisé. Par défaut, MySQL restreint l'accès des utilisateurs à localhost. Si l'utilisateur essaie de se connecter à partir d'un nom d'hôte ou d'une adresse IP différent, vous devez lui accorder explicitement des privilèges pour cet hôte, comme indiqué ci-dessous :

GRANT ALL ON *.* TO 'servname_shb'@'remote-host';
Copier après la connexion

Une fois que vous avez corrigé la déclaration d'attribution et vérifié la connexion. hôte, n'oubliez pas de vider les privilèges à l'aide de la commande :

FLUSH PRIVILEGES;
Copier après la connexion

Cela garantit que les nouveaux privilèges prennent effet immédiatement.

Si l'erreur persiste, vérifiez si le mot de passe de l'utilisateur a expiré. Vous pouvez réinitialiser le mot de passe en utilisant la déclaration suivante :

ALTER USER 'servname_shb'@'localhost' IDENTIFIED BY 'new_password';
Copier après la connexion

N'oubliez pas que lors de la gestion des privilèges MySQL, il est crucial d'accorder uniquement les autorisations nécessaires pour limiter les risques de sécurité potentiels.

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 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