Maison >base de données >tutoriel mysql >Apprenez à résoudre le problème de l'impossibilité d'accéder à Mysql à distance
L'utilisation de la base de données MySQL est devenue une tendance imparable dans de nombreuses sociétés Internet, donc ce que nous faisons souvent au début du projet est de trouver un serveur Linux, d'installer MySQL dessus, puis lorsque nous commençons à importer nos tables de données , nous ne pouvons pas toujours occuper la connexion à distance au serveur, nous utilisons donc souvent des outils à distance pour faire fonctionner la base de données, mais nous rencontrerons également les situations suivantes :
MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server“
La cause première L'une des raisons du refus de connexion ci-dessus est due au fait que la connexion à distance du compte de connexion est restreinte lors de la création d'un compte mysql, c'est-à-dire : en plus du serveur d'installation actuel où se trouve mysql, d'autres IP (hôtes) L'accès n'est pas autorisé, même si votre nom d'utilisateur et votre mot de passe sont corrects ; en fait, ce n'est pas que MySQL ne prend pas en charge la télécommande par défaut, mais que l'utilisateur root par défaut de MySQL ne prend pas en charge la télécommande par défaut. Pour parler franchement, il s'agit d'un problème d'autorisation. est par défaut. La méthode la plus simple pour 127.0.0.1 (localhost) consiste à créer un nouvel utilisateur pour prendre en charge l'accès à distance sans modifier les autorisations root. Ceci est recommandé, mais si vous avez vraiment besoin d'utiliser le fonctionnement à distance root, il n'y a aucun moyen. Les deux solutions suivantes sont proposées :
①Commentez bind-address = 127.0.0.1 dans la section [mysqld] de /etc/mysql/my.cnf
②Utilisez mysql -uroot - p Log dans MySQL, puis utilisez la méthode suivante pour activer les autorisations d'accès à distance
#mysql -u root -p #*******(密码,默认的密码是空) mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>flush privileges;
Après avoir exécuté le code, nous pouvons voir que l'hôte correspondant à notre utilisateur root est % ; , ce qui signifie que toutes les adresses IP sont autorisées à se connecter, comme indiqué ci-dessous :
Au cours du processus d'explication ci-dessus, j'ai constaté que certains utilisateurs de MySQL ne sont pas très préoccupés par le mot de passe par défaut vide. de mysql, donc ici Un rappel à tout le monde est que mysql vient d'être installé, n'oubliez pas d'effacer les utilisateurs vides et de changer le mot de passe à temps. Voici un bref enregistrement de ces deux processus, comme suit :
Source : Version publiée de la base de données MySQL Explication des connaissances
mysql -u root -p mysql>select user,host,password from mysql.user; mysql>drop user ''@localhost; mysql>update mysql.user set password = PASSWORD('*********') where user='root'; mysql>flush privileges;
Le processus d'exécution est le suivant :
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!