Maison > Article > base de données > MySQL n'autorise pas l'accès à distance
MySQL Il existe de nombreuses raisons pour lesquelles l'accès à distance n'est pas autorisé. En plus des méthodes suivantes, vous devez également vérifier les paramètres de Sécurité du serveur pour interdire l'accès au port 3306. de la machine.
Solution :
1. Changez la méthode du tableau.
Il se peut que votre compte ne permette pas la connexion à distance, uniquement localhost. À ce stade, connectez-vous simplement à MySQL sur l'ordinateur sur localhost et modifiez l'élément "host" dans la table "user" de la base de données "mysql" de "localhost" à "%"
code Comme suit :
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
2. Loi d'autorisation.
Par exemple, si vous souhaitez que mon utilisateur se connecte au serveur MySQL depuis n'importe quel hôte en utilisant mon mot de passe.
ACCORDEZ TOUS LES PRIVILÈGES SUR *.* À 'monutilisateur'@'%' IDENTIFIÉ PAR 'monmot de passe' AVEC OPTION D'ACCORD
FLUSH PRIVILÈGES
Si vous souhaitez autoriser l'utilisateur monutilisateur de ; ip Connectez-vous au serveur MySQL pour l'hôte 192.168.1.6 et utilisez mon mot de passe comme mot de passe
ACCORDEZ TOUS LES PRIVILÈGES SUR *.* À 'monutilisateur'@'192.168.1.3' IDENTIFIÉ PAR 'mon mot de passe' AVEC OPTION D'ACCORD
FLUSH PRIVILEGES ;
Si vous souhaitez autoriser l'utilisateur myuser à se connecter à la base de données dk du serveur mysql à partir de l'hôte avec l'adresse IP 192.168.1.6 et à utiliser mon mot de passe comme mot de passe
ACCORDEZ TOUS LES PRIVILÈGES SUR dk.* À 'myuser'@'192.168. 1.3 ' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES
La première méthode que j'ai utilisée, j'ai trouvé qu'elle ne fonctionnait pas au début, j'ai vérifié sur Internet et exécuté une instruction de moins mysql>FLUSH RIVILEGES. pour rendre la modification efficace. C'est tout
Une autre méthode, mais je ne l'ai pas essayée personnellement, je l'ai trouvée sur csdn.net, vous pouvez y jeter un oeil
Exécuter sur la machine où se trouve mysql. installé : 1. d:mysqlbin>mysql -h localhost -u root //Cela devrait pouvoir entrer dans le serveur MySQL
2 mysql>ACCORDER TOUS LES PRIVILÈGES SUR *.* À 'root'@'%. 'AVEC GRANT OPTION //Accorder à tout hôte l'autorisation d'accéder aux données
3. mysql>FLUSH PRIVILEGES //Les modifications prennent effet
4 mysql>EXIT //
QuitterServeur MySQLCeci. De cette façon, vous pouvez utiliser
AutresConnectez-vous en tant que root sur n'importe quel hôte !
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!