Mysql
 sql >> Database >  >> RDS >> Mysql

MYSQL_ROOT_PASSWORD è impostato ma viene negato l'accesso per l'utente 'root'@'localhost' (usando la password:YES) nel contenitore docker

Dando per scontato che tu abbia mostrato l'intero registro di avvio, sembra che tu abbia avviato il tuo contenitore mysql contro un db_data preesistente volume contenente già un filesystem di database mysql.

In questo caso, non verrà inizializzato assolutamente nulla all'avvio del contenitore e le variabili di ambiente sono inutili. Citando la documentazione ufficiale dell'immagine nella sezione "Variabili d'ambiente":

Se vuoi che la tua istanza venga inizializzata, devi ricominciare da capo. È abbastanza facile da fare con la composizione mobile quando si utilizza un volume con nome come nel tuo caso. Attenzione:questo cancellerà definitivamente i contenuti nei tuoi db_data volume, cancellando qualsiasi database precedente che avevi lì . Crea prima un backup se devi conservare i contenuti.

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

Se mai ti converti in un montaggio vincolato, dovrai eliminare tu stesso tutto il suo contenuto (ad esempio rm -rf /path/to/bind/mount/* )

Nota:molte altre immagini docker db ufficiali (postgres, mongo....) funzionano in modo simile.