Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL_ROOT_PASSWORD jest ustawione, ale odmowa dostępu dla użytkownika „root”@„localhost” (przy użyciu hasła:TAK) w kontenerze dockera

Biorąc za pewnik, że pokazałeś cały swój dziennik startowy, wygląda na to, że uruchomiłeś kontener mysql na istniejącym db_data wolumin zawiera już system plików bazy danych mysql.

W takim przypadku absolutnie nic nie zostanie zainicjowane podczas uruchamiania kontenera, a zmienne środowiskowe są bezużyteczne. Cytując oficjalną dokumentację obrazu w sekcji „Zmienne środowiskowe”:

Jeśli chcesz, aby Twoja instancja została zainicjowana, musisz zacząć od zera. Jest to dość łatwe w przypadku docker compose podczas korzystania z nazwanego woluminu, tak jak w twoim przypadku. Ostrzeżenie:spowoduje to trwałe usunięcie zawartości w db_data głośność, usuwając wszelkie wcześniejsze bazy danych, które tam posiadałeś . Najpierw utwórz kopię zapasową, jeśli chcesz zachować zawartość.

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

Jeśli kiedykolwiek dokonasz konwersji na montowanie typu bind, będziesz musiał samodzielnie usunąć całą jego zawartość (tj. rm -rf /path/to/bind/mount/* )

Uwaga:wiele innych oficjalnych obrazów dokera db (postgres, mongo....) działa w podobny sposób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego Railsy ignorują Rollback w (pseudo)zagnieżdżonej transakcji?

  2. Czy indeks_długości MySQL jest w bajtach?

  3. Tabela aktualizacji MySQL na podstawie innej wartości tabeli

  4. MYSQL wybierz DISTINCT wartości w dwóch kolumnach

  5. SQLSTATE[42000]:Błąd składni lub naruszenie dostępu:1064 Wystąpił błąd w składni SQL — PHP — PDO