Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MYSQL_ROOT_PASSWORD está definido, mas obtendo acesso negado para o usuário 'root'@'localhost' (usando a senha:YES) no contêiner docker


Supondo que você tenha mostrado todo o seu log inicial, parece que você iniciou seu contêiner mysql em um db_data pré-existente volume já contendo um sistema de arquivos de banco de dados mysql.

Nesse caso, absolutamente nada será inicializado no início do contêiner e as variáveis ​​de ambiente são inúteis. Citando a documentação oficial da imagem na seção "Variáveis ​​de ambiente":

Se você deseja que sua instância seja inicializada, você precisa começar do zero. É muito fácil de fazer com o docker compose ao usar um volume nomeado como no seu caso. Aviso:isso excluirá permanentemente o conteúdo do seu db_data volume, eliminando qualquer banco de dados anterior que você tinha lá . Crie um backup primeiro se precisar manter o conteúdo.
docker-compose down -v
docker-compose up -d

Se você converter para uma montagem de ligação, terá que excluir todo o conteúdo por conta própria (ou seja, rm -rf /path/to/bind/mount/* )

Nota:muitas outras imagens oficiais do db docker (postgres, mongo....) funcionam de maneira semelhante.