Maison > Article > base de données > Les invites MySQL de la machine virtuelle connectée localement ne sont pas autorisées à se connecter
❝Cet article résoudra le problème selon lequel la connexion locale de Navicat au serveur MySQL distant indique que la connexion n'est pas autorisée
❞.
Local Navicat se connecte à la base de données MySQL de la machine virtuelle centos7.3Après avoir confirmé la connexion, une erreur comme celle-ci sera signalée
, puis saisissez le mot de passe pour accéder à MySQLmysql -uroot -p
Exécutez la commande show databases;
pour afficher toutes les bases de données actuelles Ce à quoi nous devons principalement faire attention, c'est la bibliothèque mysql
, changer de base de données, exécuter la commande use mysql
, il y a une base de données dans table des utilisateurs MySQL. Permettez-moi de faire un petit point ici. Dans le terminal, nous avions l'habitude d'exécuter clear
pour effacer l'écran, mais l'exécution de clear dans MySQL n'a aucun effet.
La commande clear screen dans le terminal mysql est system clear
D'accord, revenons au sujet, dans le tableau user
, nous n'avons besoin que de deux informations, une est hos et l'autre est l'utilisateur. Nous devons exécuter l'instruction de requête pour l'interroger.
Dans l'image ci-dessus, la colonne hôte spécifie l'adresse IP qui permet aux utilisateurs de se connecter. S'il s'agit d'un hôte local, vous ne pouvez vous connecter que localement et vous ne pouvez pas vous connecter à distance.
C'est pourquoi notre navigateur local ne peut pas se connecter à MySQL.
Comme il s'agit d'une machine virtuelle locale et qu'il n'y a aucun problème de sécurité, Kaka définira l'hôte sur %
.
% représente un caractère générique, ce qui signifie que toutes les connexions sont autorisées et qu'aucune adresse IP n'est restreinte.
Remarque : dans l'environnement de production, vous ne pouvez pas définir l'hôte sur % pour éviter des problèmes. Cela entraînerait des problèmes de sécurité. Les paramètres spécifiques peuvent être définis en fonction de l'adresse IP de l'environnement de production ; 🎜>Le problème a été trouvé. Ensuite, allez le découvrir.
Vous devez encore actualiser les autorisations iciupdate user set host='%' where user='root';
flush privileges
Navitta locale se connecte à nouveau à la base de données. C'est tout à ce stade.
flush privileges
Cette commande extrait les informations utilisateur ou les autorisations dans les tables d'utilisateurs et de privilèges de la bibliothèque mysql en mémoire.
Lorsque les données utilisateur et les autorisations sont modifiées et que vous souhaitez prendre effet directement sans redémarrer la base de données, vous devez exécuter cette commande.
C'est-à-dire que cette commande n'est applicable que lorsque les données utilisateur et les autorisations utilisateur sont modifiées.
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!