MySQL_ROOT_PASSWORD ist festgelegt, aber der Zugriff wurde für Benutzer „root“@„localhost“ verweigert (mit Kennwort: JA)
In Docker-MySQL-Umgebungen , reicht das Setzen der Umgebungsvariablen MYSQL_ROOT_PASSWORD nicht aus, um den Zugriff auf die Datenbank sicherzustellen. Dies liegt daran, dass das Image keine neue Datenbank initialisiert, wenn das db_data-Volume bereits eine vorhandene Installation enthält.
Fehlerbehebung:
Löschen Sie das db_data-Volume, um die Initialisierung zu erzwingen:
Bei Bedarf in einen Bind-Mount konvertieren:
Nach der Initialisierung der Datenbank können Sie Konvertieren Sie das Volume in einen Bind-Mount, indem Sie den Abschnitt „Volumes“ in docker-compose.yml ändern an:
volumes: - /host/path/to/db_data:/var/lib/mysql
Überprüfen Sie, ob andere potenzielle Probleme vorliegen:
Das obige ist der detaillierte Inhalt vonWarum tritt für den MySQL-Root-Benutzer „Zugriff verweigert' auf, selbst wenn MYSQL_ROOT_PASSWORD in Docker festgelegt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!