작성
·
211
0
Docker Containers의 경우 아래와 같이 제대로 동작하고 있고
docker는 Mac 상에서 아래와 같이 실행시켰습니다.
MacBookPro ~ % brew link docker
MacBookPro ~ % docker run 8550a9a141fd
실행 한 후 inellij터미널에서 아래와 같이 입력을 해서
docker exec -it mysql bash
bash-4.4# mysql -u root -p
mysql> use stock_example
사용했을 때는 잘 작동했는데
다음 날 똑같은 방법으로 실행하니 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
오류가 발생했습니다. 혹시 해결 방법을 아시나요.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
오류는 데이터베이스에 접근할 때 사용하는 사용자 이름 또는 비밀번호가 잘못되었거나, 해당 사용자에게 접근 권한이 없을 때 발생합니다. Docker를 사용하여 MySQL를 실행할 경우 몇 가지 확인해야 할 사항이 있습니다:
MYSQL_ROOT_PASSWORD
를 설정할 수 있습니다.application.properties
또는 application.yml
파일 등에서 정의된 데이터베이스 URL, 사용자 이름, 비밀번호가 올바른지 확인해야 합니다.해결 방법으로는 다음과 같은 명령어를 Docker 컨테이너 내부에서 실행하여 해당 사용자의 접속 허용 호스트를 변경하거나 비밀번호를 재설정할 수 있습니다:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '새로운비밀번호';
FLUSH PRIVILEGES;
이 명령어는 ‘root’ 사용자의 접속 허용 호스트를 ‘localhost’로 제한하고, 비밀번호를 ‘새로운비밀번호’로 변경합니다. 필요에 따라 사용자 이름과 호스트를 알맞게 변경해주세요.
이러한 점들을 확인해보시고 문제가 지속되면 추가적인 설정이나 로그를 확인해보는 것이 좋습니다.