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;
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 :
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!