Heim > Artikel > Betrieb und Instandhaltung > Was soll ich tun, wenn Docker keine Verbindung zu MySQL herstellen kann?
Lösung für das Versagen von Docker bei der Verbindung mit MySQL: 1. Zeigen Sie den laufenden Container über den Befehl „docker ps“ an. 2. Führen Sie „docker exec -it b30062adc08c /bin/bash“ aus, um den MySQL-Container aufzurufen Befehl „mysql -u root -p“; 4. Starten Sie MySQL neu und verwenden Sie dann Navicat, um eine erfolgreiche Verbindung herzustellen.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Was soll ich tun, wenn Docker keine Verbindung zu MySQL herstellen kann?
Lösung für fehlgeschlagene Verbindung zu MySQL in Docker
Szenario: Nach der Installation der neuesten Version von MySQL im Docker-Container der virtuellen Maschine und der Verwendung von Navicat im Host zum Herstellen einer Verbindung zu MySQL in der virtuellen Maschine wird die folgende Fehlermeldung angezeigt erscheint:
2059: Authentifizierungs-Plugin „caching_sha2_password“ kann nicht geladen werden:
Lösung:
1. Überprüfen Sie zunächst den laufenden Container mit dem Docker-Befehl ps und stellen Sie sicher, dass die MySQL-Datei nicht geladen wird Wenn nicht, verwenden Sie den Docker-Startbefehl zum Starten (das im Bild unten gezeigte Ergebnis zeigt an, dass ein MySQL gestartet wurde)
2 Führen Sie dann docker exec -it b30062adc08c / aus. bin/bash, um den MySQL-Container aufzurufen
3 Geben Sie dann den Befehl mysql - u root -p ein, geben Sie dann Ihr eigenes Passwort ein und geben Sie schließlich die Anweisung zum Aktualisieren des Passworts ein:
ALTER USER 'root'@'% ' IDENTIFIED WITH mysql_native_password BY '123456';
4. Starten Sie abschließend MySQL neu und verwenden Sie dann Navicat, um eine erfolgreiche Verbindung herzustellen
Ergänzendes Wissen: Lösung für MySQL-Fehler in der lokalen Remote-Verbindung Docker (1251)
Der Fehler ist wie folgt:
Grund: MySQL 8.0 wird standardmäßig als Caching_sha2_password-Authentifizierungsmechanismus verwendet; der Client unterstützt die neue Verschlüsselungsmethode nicht
Lösung: Ändern Sie die Verschlüsselungsmethode des Benutzers (root)
1. Geben Sie in den MySQL-Container ein und geben Sie
docker exec -it mysql02 bash
2 ein Geben Sie 123456 ein wie im Bild gezeigt und drücken Sie die Eingabetaste.
3. Benutzerkonfigurationselemente festlegen Verschlüsselungsmethode
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456 ist MySQL-Login-Passwort
(3) Überprüfen Sie die Benutzerinformationen erneut
select host,user,plugin,authentication_string von mysql.user;(4) Verwenden Sie Navicate und andere Datenbanksoftware, um erneut eine Verbindung herzustellen, erfolgreich
(5)
Zusatz: Wenn Sie den Container normal beenden möchten, Sie können den Container verlassen, indem Sie Strg+P+Q drücken
Container aus MySQL verlassen: Strg+D, zweimal drücken
Empfohlenes Lernen: „Docker-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Docker keine Verbindung zu MySQL herstellen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!