Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens « L'hôte 'xxx.xx.xxx.xxx' n'est pas autorisé à se connecter à ce serveur MySQL » même avec une entrée d'hôte '%' ?

Pourquoi est-ce que j'obtiens « L'hôte 'xxx.xx.xxx.xxx' n'est pas autorisé à se connecter à ce serveur MySQL » même avec une entrée d'hôte '%' ?

DDD
Libérer: 2024-12-20 18:06:11
original
621 Les gens l'ont consulté

Why Do I Get

Erreur de connexion MySQL à distance : "Hôte non autorisé"

La connexion à distance à MySQL peut parfois entraîner le message d'erreur "Hôte 'xxx. xx.xxx.xxx' n'est pas autorisé à se connecter à ce serveur MySQL." Malgré une entrée d'utilisateur root avec une valeur d'hôte à la fois « localhost » et « % », la connexion échoue.

Ce problème est généralement rencontré en raison des mesures de sécurité mises en œuvre par MySQL. Une solution possible consiste à créer un nouvel utilisateur administratif avec des privilèges et des restrictions d'accès spécifiques :

Créer un nouvel utilisateur administratif :

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' ->     WITH GRANT OPTION;
Copier après la connexion

Bien qu'il soit pratique d'accorder des privilèges étendus , cela n'est pas recommandé en raison des risques de sécurité. Au lieu de cela, il est prudent de :

  • Limiter l'accès des utilisateurs aux hôtes et adresses IP spécifiques requis.
  • Accorder uniquement les privilèges nécessaires pour la tâche à accomplir.

Aperçu de la FAQ MySQL :

La FAQ MySQL fournit des éclaircissements supplémentaires à ce sujet problème :

"Si vous ne parvenez pas à comprendre pourquoi vous obtenez "Accès refusé", supprimez toutes les entrées de la table utilisateur dont les valeurs d'hôte contiennent des caractères génériques (par exemple, "% ou _"). Il est courant d'insérer accidentellement une entrée. avec host='%' et user='some_user' pour activer les connexions localhost. Cependant, cela ne fonctionnera pas car les privilèges par défaut incluent une entrée avec host='localhost' et user=''. et sera utilisé à la place. Pour autoriser les connexions localhost, insérez une deuxième entrée avec host='localhost' et user='some_user', ou supprimez l'entrée localhost par défaut et émettez une instruction FLUSH PRIVILEGES."

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal