J'essaie d'obtenir le serveur MySQL (qui est à l'intérieur de la machine virtuelle) pour répondre au client (qui se trouve sur la machine hôte). Toutes les méthodes retournent les mêmes:
Host '10.0.2.2' is not allowed to connect to this MySQL server
J'ai assuré un port avant correct. Je me suis également assuré que my.cnf
j'ai en lignes suivantes:
skip-external-locking
bind-address = 0.0.0.0
Cela n'a pas fonctionné pour moi. J'ai aussi essayé de jouer un peu comme suit:
bind-address = 10.0.2.2
Mais cela ne fonctionnait pas non plus pour moi - le serveur ne pouvait tout simplement pas démarrer.
Des idées, où je me trompe?
MISE À JOUR. Je n'ai pas vérifié les privilèges root@%
comme dans Comment puis-je changer les privilèges pour l'utilisateur MySQL qui est déjà créé?
RESOLU.
mysql
virtualbox
défiance
la source
la source
root:root
. Je doute que le problème soit dans les connexions, sinon le message d'erreur indiquerait quelque chose de lileAccess denied for [email protected]
ou quelque chose.root@%
. C'est ma faute.Réponses:
Localhost du compte root uniquement dans la grande majorité des installations par défaut, êtes-vous certain de l'avoir autorisé à se connecter à partir de l'autre système? Dans le manuel de référence MySQL :
Donc, il n'y a pas
%
ou10.0.2.2
dans laHost
colonne du tout. Vérifiez votre configuration actuelle:Vous souhaiterez probablement créer une nouvelle entrée racine avec le même mot de passe que vous avez maintenant.
la source
mysql -e "create user 'root'@'10.0.2.2' identified by 'yourpassword'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;"