Heim > Datenbank > MySQL-Tutorial > Warum kann ich nicht auf MySQL zugreifen, selbst nachdem ich MYSQL_ROOT_PASSWORD festgelegt habe?

Warum kann ich nicht auf MySQL zugreifen, selbst nachdem ich MYSQL_ROOT_PASSWORD festgelegt habe?

DDD
Freigeben: 2024-12-01 16:00:14
Original
261 Leute haben es durchsucht

Why Can't I Access MySQL Even After Setting MYSQL_ROOT_PASSWORD?

So greifen Sie auf MySQL zu, wenn MYSQL_ROOT_PASSWORD festgelegt ist

Problem:

Trotz Einstellung der Umgebungsvariablen MYSQL_ROOT_PASSWORD wird versucht, darauf zuzugreifen MySQL führt zu dem Fehler: Zugriff verweigert für Benutzer root@localhost (mit Passwort: JA).

Lösung:

Das Problem tritt auf, wenn der MySQL-Container auf einem bereits vorhandenen Volume gestartet wird, das ein MySQL-Datenbankdateisystem enthält. In solchen Fällen überspringt der Container die Initialisierung und Umgebungsvariablen haben keine Auswirkung.

Lösung:

  1. Löschen Sie das vorhandene Datenvolumen:

    docker-compose down -v
    Nach dem Login kopieren
  2. Erstellen Sie die Container:

    docker-compose up -d
    Nach dem Login kopieren

Hinweis: Durch das Löschen des Volumes werden alle vorhandenen Datenbankdaten gelöscht. Erstellen Sie bei Bedarf ein Backup.

Zusätzliche Informationen:

  • In der offiziellen MySQL Docker-Image-Dokumentation heißt es: „Keine der folgenden Variablen wird beim Starten irgendeine Auswirkung haben.“ den Container mit einem Datenverzeichnis, das bereits eine Datenbank enthält.“
  • Das gleiche Problem kann bei anderen offiziellen Datenbank-Docker-Images auftreten (z. B. Postgres, MongoDB).
  • Bei der Konvertierung in einen Bind-Mount müssen Sie den gesamten Inhalt manuell löschen, um die Initialisierung zu erzwingen.

Das obige ist der detaillierte Inhalt vonWarum kann ich nicht auf MySQL zugreifen, selbst nachdem ich MYSQL_ROOT_PASSWORD festgelegt habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage