sql >> Databáze >  >> RDS >> Mysql

MYSQL_ROOT_PASSWORD je nastaveno, ale přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:YES) v kontejneru dockeru

Považujeme za samozřejmé, že jste ukázali celý svůj úvodní protokol, zdá se, že jste spustili svůj mysql kontejner proti již existujícímu db_data svazek, který již obsahuje souborový systém databáze mysql.

V tomto případě se při spuštění kontejneru neinicializuje absolutně nic a proměnné prostředí jsou k ničemu. Citace oficiální dokumentace k obrázkům v sekci "Proměnné prostředí":

Pokud chcete, aby byla vaše instance inicializována, musíte začít od nuly. Při použití pojmenovaného svazku, jako ve vašem případě, je to docela snadné s docker compose. Upozornění:tímto trvale smažete obsah v db_data svazku, vymazání jakékoli předchozí databáze, kterou jste tam měli . Pokud si obsah potřebujete ponechat, vytvořte nejprve zálohu.

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

Pokud někdy převedete na připojení k připojení, budete muset odstranit veškerý jeho obsah sami (tj. rm -rf /path/to/bind/mount/* )

Poznámka:mnoho dalších oficiálních obrázků db docker (postgres, mongo....) funguje podobným způsobem.



  1. MySQL odstraňuje nenumerické znaky pro porovnání

  2. jak uložit PostgreSQL jsonb pomocí SpringBoot + JPA?

  3. Jak vygenerovat skript pro povolení všech omezení cizích klíčů v databázi SQL Server - SQL Server / Výukový program TSQL, část 78

  4. Před vložením do MySQL DB ve skriptu PHP zkontrolujte, zda hodnota existuje