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

Comment réparer l'ERREUR 1130 (HY000) :L'hôte n'est pas autorisé à se connecter à ce serveur MySQL

Dans cet article rapide, vous apprendrez à résoudre le "ERREUR 1130 (HY000) :l'hôte x.x.x.x n'est pas autorisé à se connecter à ce serveur MySQL ” erreur dans le déploiement de la base de données MySQL/MariaDB sur un système Linux. Il s'agit de l'une des erreurs courantes de connexion à la base de données distante rencontrées par les utilisateurs.

Environnement de test :

  • IP du serveur d'applications :10.24.96.5
  • IP du serveur de base de données :10.24.96.6

Nous avons rencontré l'erreur lors du test de la connexion à la base de données de l'un de nos serveurs d'applications à un serveur de base de données, à l'aide de mysql client comme indiqué.

# mysql -u database_username -p -h 10.24.96.6

L'erreur indique que l'hôte 10.24.96.5 à partir duquel l'utilisateur de la base de données se connecte n'est pas autorisé à se connecter au serveur MySQL. Dans ce cas, nous devons apporter quelques modifications au serveur de base de données pour permettre à l'utilisateur de se connecter à distance.

Sur le serveur de base de données, nous devons vérifier l'hôte à partir duquel l'utilisateur ci-dessus est autorisé à se connecter.

# mysql -u root -p

Exécutez les commandes SQL suivantes pour vérifier l'hôte de l'utilisateur :

MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

À partir de la sortie de la commande, l'utilisateur n'est autorisé à se connecter au serveur de base de données qu'à partir de localhost . Nous devons donc mettre à jour les hôtes de l'utilisateur comme suit.

Exécutez le GRANT suivant commande pour activer l'accès à MySQL pour l'utilisateur distant à partir d'un hôte distant. Assurez-vous de remplacer "10.24.96.6 ” avec l'adresse IP du système distant et “database_password " au mot de passe que vous voulez " database_username ” à utiliser :

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

Pour donner à un utilisateur un accès à distance depuis tous les hôtes d'un réseau, utilisez la syntaxe ci-dessous :

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';

Après avoir apporté les modifications ci-dessus, essayez à nouveau de vous connecter à distance au serveur de base de données MySQL. La connexion devrait réussir, comme indiqué dans la capture d'écran suivante.

# mysql -u database_username -p -h 10.24.96.6

Nous espérons que cette solution vous a aidé à résoudre votre erreur de connexion à distance Mysql. Si vous avez des questions, contactez-nous via le formulaire de commentaires ci-dessous.