Maison > Article > Opération et maintenance > Que dois-je faire si Docker ne parvient pas à se connecter à MySQL ?
Solution à l'échec de la connexion de docker à mysql : 1. Affichez le conteneur en cours d'exécution via la commande "docker ps" ; 2. Exécutez "docker exec -it b30062adc08c /bin/bash" pour accéder au conteneur mysql ; Commande "mysql -u root -p" ; 4. Redémarrez mysql, puis utilisez navicat pour vous connecter avec succès.
L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.
Que dois-je faire si Docker ne parvient pas à se connecter à MySQL ?
Solution à l'échec de la connexion à MySQL dans Docker
Scénario : Après avoir installé la dernière version de MySQL dans le conteneur Docker de la machine virtuelle, en utilisant Navicat dans l'hôte pour vous connecter à MySQL dans la machine virtuelle, le message d'erreur suivant apparaît :
2059 : Le plugin d'authentification 'caching_sha2_password' ne peut pas être chargé :
Solution :
1. Tout d'abord, utilisez la commande docker ps pour vérifier le conteneur en cours d'exécution et assurez-vous que mysql. auquel nous voulons nous connecter a été démarré. Sinon, utilisez la commande docker start pour démarrer (le résultat affiché dans l'image ci-dessous indique qu'un mysql a été démarré)
2. bin/bash pour entrer dans le conteneur mysql
3. Entrez ensuite la commande mysql - u root -p, puis entrez votre propre mot de passe et enfin entrez l'instruction de mot de passe de mise à jour :
ALTER USER 'root'@'% «Identifié avec MySQL_NATION_PASSEMENT par« 123456 »;
4. (1251)
L'erreur est la suivante :
Raison : mysql 8.0 est utilisé par défaut dans le mécanisme d'authentification caching_sha2_password ; le client ne prend pas en charge la nouvelle méthode de cryptage Solution : Modifier la méthode de cryptage de l'utilisateur. (root)
1. Entrez dans le conteneur mysql et entrez docker exec -it mysql02 bash2. Connectez-vous à mysql
mysql -u root -pEntrez 12345. 6 comme indiqué sur l'image et appuyez sur Entrée 3. Définissez les éléments de configuration utilisateur
(1) Afficher les informations sur les utilisateurs
sélectionnez l'hôte, l'utilisateur, le plugin, la chaîne d'authentification depuis mysql.user ;
(2) Modifier méthode de cryptage
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456 est le mot de passe de connexion MySQL(3) Vérifiez à nouveau les informations de l'utilisateursélectionnez l'hôte, l'utilisateur, le plugin, la chaîne d'authentification depuis mysql.user;
(4) Utilisez Navicate et d'autres logiciels de base de données pour vous reconnecter, avec succès
(5)
Ajout :
Si vous souhaitez quitter normalement sans fermer le conteneur, vous pouvez quitter le conteneur en appuyant sur Ctrl+P+QQuitter le conteneur de MySQL : Ctrl+D, appuyez deux foisApprentissage 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!