sql >> Databasteknik >  >> RDS >> Mysql

MYSQL_ROOT_PASSWORD är inställt men får åtkomst nekad för användaren 'root'@'localhost' (med lösenord:JA) i docker-behållaren

Om du tar för givet att du har visat hela din startlogg verkar det som om du startade din mysql-behållare mot en redan existerande db_data volym som redan innehåller ett mysql-databasfilsystem.

I det här fallet kommer absolut ingenting att initieras vid containerstart och miljövariabler är värdelösa. Citerar den officiella bilddokumentationen i avsnittet "Miljövariabler":

Om du vill att din instans ska initieras måste du börja om från början. Det är ganska lätt att göra med docker compose när du använder en namngiven volym som i ditt fall. Varning:detta raderar permanent innehållet i din db_data volym, raderar alla tidigare databas du hade där . Skapa en säkerhetskopia först om du behöver behålla innehållet.

docker-compose down -v
docker-compose up -d

Om du någonsin konverterar till en bindmontering, måste du ta bort allt innehåll själv (dvs. rm -rf /path/to/bind/mount/* )

Obs:många andra officiella db docker-bilder (postgres, mongo...) fungerar på liknande sätt.



  1. MySQL-inlärningsväg

  2. Koppla Google Cloud SQL med Wordpress på Google Compute Engine

  3. Databasversionskontroll för MySQL

  4. Att få dubbla inmatningsfel från Hibernate, är MySQL att skylla på?