Maison > Article > Opération et maintenance > Que dois-je faire si MySQL installé avec Docker n'est pas accessible à distance ?
Solution : 1. Connectez-vous au conteneur mysql, puis entrez mysql, la syntaxe est "docker exec -it mysql /bin/bash..." ; 2. Utilisez "alter user 'root'@'%' identifié ; avec mysql_native_password par '...';" Changez le mot de passe de connexion ; 3. Utilisez navicat pour vous connecter à distance à mysql.
L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.
#docker installe MySQL
docker pull mysql docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
À ce moment, lorsque Navicat se connecte à distance à MySQL, l'erreur suivante s'affichera :
Solution :
1, connectez-vous au conteneur mysql dans la machine virtuelle, puis entrez mysql
docker exec -it mysql /bin/bash mysql -uroot -p Enter password: mysql> select host,user,plugin,authentication_string from mysql.user;
Remarque : l'hôte est %, ce qui signifie qu'il n'y a aucune restriction sur localhost signifie que cette machine utilise. un plugin autre que mysql_native_password, vous devez donc changer le mot de passe
2. Changez le mot de passe
mysql> use mysql; mysql> alter user 'root'@'%' identified with mysql_native_password by '123'; mysql> flush privileges; mysql> select host,user,plugin,authentication_string from mysql.user;
3 Lorsque l'image ci-dessus apparaît, utilisez navicat pour vous connecter à distance à mysql et le succès est obtenu. .
Apprentissage recommandé : "Tutoriel vidéo Docker"
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!