문제:
Docker에 MYSQL_ROOT_PASSWORD를 설정했습니다. docker-compose.yml 파일에 있지만 MySQL 데이터베이스에 연결을 시도하면 "사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(비밀번호 사용: YES)."
원인:
가장 가능성이 높은 원인은 이미 MySQL 데이터베이스 파일 시스템이 포함된 기존 볼륨에 대해 MySQL 컨테이너를 시작하는 것입니다. 이 경우 MYSQL_ROOT_PASSWORD를 포함한 어떤 환경 변수도 아무런 영향을 미치지 않습니다.
해결책:
처음부터 시작하여 컨테이너를 초기화하려면 다음을 수행해야 합니다. 기존 데이터 볼륨을 삭제하고 새 데이터 볼륨으로 컨테이너를 시작합니다. 이렇게 하면 데이터 볼륨의 이전 데이터베이스가 모두 지워지므로 필요한 경우 백업을 생성하십시오.
단계:
추가 정보:
이 문제는 MySQL Docker 이미지에만 국한되지 않습니다. 데이터베이스(예: PostgreSQL, MongoDB)의 많은 공식 도커 이미지는 비슷한 방식으로 작동합니다. 따라서 다른 데이터베이스에서 이 문제가 발생하는 경우 데이터 볼륨을 삭제하고 컨테이너를 처음부터 시작하는 해결 방법이 적용될 가능성이 높습니다.
위 내용은 `MYSQL_ROOT_PASSWORD` 설정에도 불구하고 내 MySQL Docker 컨테이너에 '액세스 거부'가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!