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

Detaillierte Erklärung zur Verwendung der JavaScript-Paging-Komponente

Die Paginierungskomponente ist eine häufige Kompo...

Häufige Ursachen und Lösungen für langsame MySQL-SQL-Anweisungen

1. Langsame Abfrage aufgrund fehlenden oder ungül...

MYSQL METADATA LOCK (MDL LOCK) MDL-Sperrproblemanalyse

1. Einleitung MDL-Sperren in MySQL haben schon im...

Zusammenfassung der Verwendung von MySQL-Datums- und Uhrzeitfunktionen

Dieser Artikel basiert auf MySQL 8.0 Dieser Artik...

Beispiel einer DOM-Operationstabelle (DOM erstellt Tabelle)

1. Erstellen Sie eine Tabelle mit HTML-Tags: Code...

Tutorial zur Installation und Konfiguration von VMware Tools für Ubuntu 18.04

Dieser Artikel beschreibt die Installation und Ko...

So verwenden Sie async await elegant in JS

Inhaltsverzeichnis $.ajax von jQuery Der Beginn d...

So führen Sie Linux-Befehle im Hintergrund aus

Wenn Sie einen Befehl im Terminal ausführen, müss...

Manuelle und geplante Sicherungsschritte für die MySQL-Datenbank

Inhaltsverzeichnis Manuelle Sicherung Timer-Siche...

Vergleich der Verwendung von EXISTS und IN in MySQL

1. Verwendung: (1) EXISTS-Nutzung Wählen Sie a.ba...

So importieren Sie Tomcat-Quellcode in Idea

Inhaltsverzeichnis 1. Laden Sie den Tomcat-Code h...