Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Erreur de connexion - [MySQL][ODBC 5.3(w) Driver]L'hôte "IP" n'est pas autorisé à se connecter à ce serveur MySQL

Un de mes clients m'a contacté pour un problème de serveur lié entre SQL Server et MySQL Server. Comme je travaille principalement avec SQL Server, c'était amusant d'installer et de connecter MySQL Server. Alors que j'essayais de simuler le problème et que je voulais créer un serveur lié. Dans ce blog, nous apprendrions comment corriger l'erreur de connexion MySQL [MySQL][ODBC 5.3(w) Driver]L'hôte "IP" n'est pas autorisé à se connecter à ce serveur MySQL.

J'ai installé MySQL Server sur un serveur et fourni le mot de passe de l'utilisateur root. Lorsque j'essayais de me connecter à MySQL Server en utilisant ODBC.

Dès que j'ai cliqué sur le test, je vois l'erreur ci-dessous.

L'adresse IP mentionnée dans le message d'erreur est l'adresse IP du client qui tente de se connecter. Le SMS est le suivant :

Échec de la connexion
[MySQL][ODBC 5.3(w) Driver]L'hôte "IP" n'est pas autorisé à se connecter à ce serveur MySQL :

Je n'ai jamais vu cette erreur en travaillant avec SQL Server, donc je n'avais aucune idée de cette erreur. Lorsque je faisais des recherches, j'ai appris ci-dessous.

Par défaut, MySQL n'autorise pas les clients distants à se connecter à la base de données MySQL.

Le moyen le plus rapide de vérifier cela est comme ci-dessous. Si nous vérifions la table mysql.user, il y a une entrée pour l'utilisateur 'root' avec l'hôte 'localhost'.

Donc, nous devons fournir l'autorisation de se connecter au serveur MySQL à un client.

SOLUTION/SOLUTION

Tout d'abord, assurez-vous qu'il ne s'agit pas d'un problème de pare-feu.

Comme nous en avons discuté précédemment, il s'agit d'un problème d'autorisations. Nous pouvons ensuite donner la permission en utilisant la commande.

Use mysql;
GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';

Vous pouvez également utiliser MySQL Workbench pour le faire. La capture d'écran ci-dessous indique les étapes à suivre. Identique à la commande, nous devons donner le nom d'utilisateur, le mot de passe et l'adresse IP dans l'écran graphique.

J'espère que ce blog vous aidera. Après les modifications ci-dessus, lorsque vous essayez de vous connecter à la base de données mysql à partir de ce client distant (nous avons donné l'adresse IP/le nom d'hôte), vous ne devriez plus recevoir le message d'erreur "L'hôte n'est pas autorisé à se connecter à ce serveur MySQL". Nous pouvons également utiliser % pour autoriser tous les hôtes, mais je ne préfère pas cette option.

Je ne suis pas un expert MySQL, alors n'hésitez pas à commenter et à me faire savoir s'il existe de meilleures façons.