Maison > base de données > tutoriel mysql > Comment résoudre le problème selon lequel la base de données MySQL n'est pas accessible par d'autres adresses IP

Comment résoudre le problème selon lequel la base de données MySQL n'est pas accessible par d'autres adresses IP

黄舟
Libérer: 2017-09-02 13:25:53
original
1565 Les gens l'ont consulté

Cet article vous présente principalement la solution au problème selon lequel la base de données MySQL n'est pas accessible par d'autres adresses IP. L'article la présente en détail à travers un exemple de code. Il a une certaine valeur de référence et d'apprentissage pour les études ou le travail de chacun. qui en a besoin peut suivre Apprenons avec l’éditeur.

Avant-propos

C'est toujours le projet mentionné précédemment. L'environnement est actuellement prêt. Un problème a été découvert lors de la phase de préparation et de vérification du projet. , et il a été appliqué à partir du niveau supérieur. J'ai entré l'authentification pour accéder à l'application, mais elle a attendu. J'ai entré le nom d'utilisateur et le mot de passe corrects, mais je n'ai pas pu y accéder. Il semble qu'il n'y ait aucun moyen d'accéder à la connexion à la base de données.

Le port après le déploiement de MySQL est généralement 3306. J'ai essayé de faire un ping et un telnet sur le port 3306 et j'ai constaté que l'IP peut être pingée, mais le port 3306 ne peut pas être connecté par telnet, et une erreur comme celle-ci est donnée :


ERROR 1130: Host *.*.*.* is not allowed to connect to MySQL
Copier après la connexion

Après avoir vu cette erreur, j'ai vérifié en ligne et j'ai découvert qu'il existe fondamentalement de nombreuses solutions, mais pourquoi dois-je écrire spécifiquement à ce sujet ?

La réponse est : Il existe de nombreuses solutions pour MySQL 5.6 sur Internet. Dans la version 5.7, la solution à cette erreur est la suivante :

<🎜. >1. Dans Après vous être connecté à MySQL pour la première fois, vous devez changer le mot de passe root à temps. Il y a une différence entre 5.6 et 5.7, c'est-à-dire que le champ du mot de passe dans 5.6 est : mot de passe, mais dans la version 5.7, ce champ est annulé et remplacé par : champ chaîne_authentification .

La méthode de modification correcte est :



update user set authentication_string=password("xxxx") where user = "root";
flush privileges;
Copier après la connexion
2 Après modification, nous utilisons la commande use mysql pour passer à la bibliothèque mysql. , notez que cette bibliothèque mysql existe réellement dans mysql et qu'il s'agit d'une bibliothèque qui stocke certaines informations liées à la base de données.


Commande :

use mysql;

3. Recherchez la table des utilisateurs et exécutez la commande suivante :



grant all privileges on *.* to &#39;root&#39;@&#39;%&#39; identified by &#39;JLwg!2017&#39; with grant option;
Copier après la connexion
Il existe de nombreuses méthodes de modification pour cela sur Internet, il devrait y en avoir 4 au total, et j'en utilise une.

Le sens de cette commande est de modifier les autorisations d'accès de l'utilisateur root afin que toutes les IP puissent accéder à cet utilisateur. De cette façon, notre application peut accéder à ce mysql depuis l'IP externe, sinon seul localhost peut accéder. est très gênant.

4. Enfin, exécutez la commande

pour redémarrer le service Mysql et l'application se connectera avec succès. flush privileges;

Résumé

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal