Heim >Datenbank >MySQL-Tutorial >Warum zeigt mein MySQL-Docker-Container „Zugriff verweigert' an, obwohl „MYSQL_ROOT_PASSWORD' festgelegt ist?
Problem:
Sie haben MYSQL_ROOT_PASSWORD in Ihrer Docker-docker-compose.yml-Datei festgelegt, aber Wenn Sie versuchen, eine Verbindung zur MySQL-Datenbank herzustellen, erhalten Sie die Fehlermeldung „Zugriff für Benutzer ‚root‘@‘localhost‘ verweigert (mit Passwort: JA).“
Ursache:
Die wahrscheinlichste Ursache ist, dass Sie Ihren MySQL-Container auf einem bereits vorhandenen Volume starten, das bereits ein MySQL-Datenbankdateisystem enthält. In diesem Fall hat keine der Umgebungsvariablen, einschließlich MYSQL_ROOT_PASSWORD, irgendeine Auswirkung.
Lösung:
Um von vorne zu beginnen und Ihren Container zu initialisieren, müssen Sie dies tun Löschen Sie das vorhandene Datenvolumen und starten Sie den Container mit einem neuen. Dadurch werden alle vorherigen Datenbanken im Datenvolumen gelöscht. Stellen Sie daher sicher, dass Sie bei Bedarf ein Backup erstellen.
Schritte:
Zusätzliche Informationen:
Dieses Problem ist nicht auf MySQL-Docker-Images beschränkt. Viele offizielle Docker-Images für Datenbanken (z. B. PostgreSQL, MongoDB) funktionieren auf ähnliche Weise. Wenn dieses Problem bei anderen Datenbanken auftritt, wird daher wahrscheinlich die Problemumgehung angewendet, indem das Datenvolumen gelöscht und der Container von Grund auf neu gestartet wird.
Das obige ist der detaillierte Inhalt vonWarum zeigt mein MySQL-Docker-Container „Zugriff verweigert' an, obwohl „MYSQL_ROOT_PASSWORD' festgelegt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!