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.