Lösung für den Fehler bei der Verbindung mit MySQL in Docker

Lösung für den Fehler bei der Verbindung mit MySQL in Docker

Szenario: Nach der Installation der neuesten Version von MySQL im Docker-Container der virtuellen Maschine wird der folgende Fehler angezeigt, wenn Navicat zum Herstellen einer Verbindung mit MySQL in der virtuellen Maschine auf dem Hostcomputer verwendet wird:

2059: Authentifizierungs-Plugin „caching_sha2_password“ kann nicht geladen werden:

Lösung:

1. Überprüfen Sie zunächst mit dem Befehl „docker ps“ den laufenden Container, um sicherzustellen, dass das MySQL, mit dem wir eine Verbindung herstellen möchten, gestartet wurde. Wenn es nicht gestartet wurde, starten Sie es mit dem Befehl „docker start“ (das Ergebnis in der folgenden Abbildung zeigt, dass ein MySQL gestartet wurde).

2. Führen Sie dann docker exec -it b30062adc08c /bin/bash aus, um den MySQL-Container aufzurufen

3. Geben Sie dann den Befehl mysql -u root -p ein, geben Sie dann Ihr Kennwort ein und geben Sie abschließend die Anweisung zum Aktualisieren des Kennworts ein:

ALTER USER 'root'@'%' IDENTIFIZIERT MIT mysql_native_password DURCH '123456';

4. Starten Sie abschließend MySQL neu und verwenden Sie Navicat, um eine erfolgreiche Verbindung herzustellen.

Ergänzendes Wissen: Lösung für den Fehler der lokalen Remoteverbindung zu MySQL in Docker (1251)

Der Fehler lautet wie folgt:

Grund: MySQL 8.0 verwendet standardmäßig den Authentifizierungsmechanismus caching_sha2_password; der Client unterstützt die neue Verschlüsselungsmethode nicht

Lösung: Ändern Sie die Verschlüsselungsmethode des Benutzers (root).

1. Geben Sie den MySQL-Container ein und geben Sie Docker ein

docker exec -it mysql02 bash

2. Melden Sie sich bei MySQL an

mysql -u root -p

Geben Sie wie im Bild gezeigt 123456 ein und drücken Sie die Eingabetaste.

3. Benutzerkonfigurationselemente festlegen

(1) Benutzerinformationen anzeigen

Wählen Sie Host, Benutzer, Plugin, Authentifizierungszeichenfolge aus mysql.user aus.

(2) Ändern Sie die Verschlüsselungsmethode

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456 ist das Anmeldekennwort von MySQL

(3) Benutzerdaten erneut prüfen

Wählen Sie Host, Benutzer, Plugin, Authentifizierungszeichenfolge aus mysql.user aus.

(4) Verwenden Sie Navicate oder eine andere Datenbanksoftware, um die Verbindung erneut herzustellen. Erfolg

(5) Ergänzung: Wenn Sie normal beenden möchten, ohne den Container zu schließen, können Sie den Container durch Drücken von Strg+P+Q verlassen

Verlassen Sie den MySQL-Container: Strg+D, zweimal drücken

Die obige Lösung für den Fehler beim Herstellen einer Verbindung zu MySQL in Docker ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Methoden zum Bereitstellen von MySQL-Diensten in Docker und die dabei auftretenden Fallstricke
  • Detaillierte Erklärung zur Verwendung der MySQL-Datenbank im Docker (Zugriff im LAN)
  • So installieren Sie MySQL 8.0 in Docker
  • Detaillierte Erklärung zum Importieren/Exportieren von MySQL-Daten im Docker-Container
  • Installieren und Ausführen einer MySQL-Instanz auf Docker
  • Eine praktische Aufzeichnung eines Docker-Login-MySQL-Fehlerproblems

<<:  Zusammenfassung der Javascript-Datumstools

>>:  Mysql-Optimierungstool (empfohlen)

Artikel empfehlen

Praxis der Bereitstellung von in Python geschriebenen Webanwendungen mit Docker

Inhaltsverzeichnis 1. Docker installieren 2. Code...

Entwerfen Sie einen Datensammler mit Vue

Inhaltsverzeichnis Szenario Kernthemen Statusüber...

MySQL vollständig deinstallieren. Persönlicher Test!

MySQL sauber deinstallieren. Persönlich getestet,...

Detailliertes Tutorial zur Installation von PHP und Nginx auf Centos7

Da die Anwendung von CentOS auf der Serverseite i...

So ermitteln Sie die Höhe des MySQL InnoDB B+-Baums

Vorwort Der Grund, warum die InnoDB-Engine von My...

Implementierungscode für mehrzeilige Textkomponenten der Vue-Faltanzeige

Faltdisplay mit mehrzeiligem Textbaustein Falten ...

Detaillierte Diskussion der InnoDB-Sperren (Record-, Gap-, Next-Key-Sperre)

Die Datensatzsperre sperrt einen einzelnen Indexd...

WeChat-Miniprogramm zur Implementierung elektronischer Signaturen

In diesem Artikel finden Sie den spezifischen Cod...

jQuery implementiert gleitende Registerkarte

In diesem Artikelbeispiel wird der spezifische Co...

Tiefgreifendes Verständnis der sieben Kommunikationsmethoden von Vue-Komponenten

Inhaltsverzeichnis 1. Requisiten/$emit Einführung...