인프런 커뮤니티 질문&답변

알함님의 프로필 이미지

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

작업환경 세팅

docker restart시에 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

작성

·

226

·

수정됨

0

2024-04-22 21:51:48.515 ERROR 1928 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES

Terminal상에서 아래와 같이 Docker를 재시동해서

Docker restart 8550a9a141fd

Docker ps로 아래와 같이 제대로 동작하는 것도 확인했고

igwangmin@igwangmin-ui-MacBookPro ~ % docker ps                  
CONTAINER ID   IMAGE     COMMAND                   CREATED      STATUS          PORTS                               NAMES
8550a9a141fd   mysql     "docker-entrypoint.s…"   2 days ago   Up 17 minutes   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

컨테이너가 잘 작동하는것도 아래처럼 보았습니다.

스크린샷 2024-04-22 오후 9.55.44.png

다른 게시물에서 알려주신 방법으로 Terminal을 확인했을때 아래와 같이 로그인을 하고 databases를 정상적으로 사용했지만 서버를 가동시켰을 때 하루 전에는 잘 작동했지만 다시 시작을 해보니 아래와 같이 오류가 발생합니다.

 

아래의 오류 구문이 발생합니다. 혹시 다른 방법이 있을까요?

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

 

 

답변 1

0

최상용님의 프로필 이미지
최상용
지식공유자

알함님 안녕하세요.

use stock_example; 명령어를 사용해서 데이터베이스까지 접근이 되시나요 ?

알함님의 프로필 이미지
알함
질문자

네 해당 명령어를 intellij 터미널에서 사용했을때 DB에 접근을 하고 use stock_example명령어로 databases chages가 되지만 spring boot를 동작시켰을 때 해당 오류가 발생합니다..!

알함님의 프로필 이미지
알함
질문자

상용님 안녕하세요 해결했습니다.

 

제가 해결한 방법은 아래와 같습니다.

Docker start하는 과정에서 3306port가 이미 사용하고 있다고 나와서 해당 port를 사용하고 있는 mysqld를 kill명령어로 멈추려고 했으나 계속 id가 바뀌면서 살아나는 걸 확인했습니다. 그래서 brew에서 을 자체적으로 계속 살리는게 아닌가 하는 생각에 아래의 자료를 찾아서 brew에 있는 MySQL을 멈추니 mysqld를 삭제할 수 있었고 Docker start로 Container를 다시 띄우니 정상적으로 띄워지고 Spring boot에서 MySQL에도 정상적으로 로그인 되었습니다.

https://superuser.com/questions/1695533/mysql-process-wont-die-on-mac

그런데 하나 궁금한 점이 생겨서 여쭤봅니다.

 

궁금한 점은

  1. 3일 전 쯤 질문을 드렸을 때 아래의 명령어를 intellij 터미널 창에 입력해보라 하셔서 입력을 하고 Spring boot를 실행했을 때는 정상적으로 작동했는데 왜 이번에는 Local MySQL과 충돌이 일어났는지 궁금합니다.

docker exec -it mysql bash
mysql -u root -p
use stock_example;
  1. 시스템 설정에 들어가 확인해보니 아래와 같이 Local MySQL이 중지되었던데 원래 Docker에 존재하는 MySQL을 실행하기 위해서는 Local의 MySQL은 중지해야 하는건가요?

 image

최상용님의 프로필 이미지
최상용
지식공유자

알함님 안녕하세요.

방법을 공유해주셔서 감사합니다.

  1. 이 부분은 제가 겪어본 부분이 아니라 답변을 드리기는 힘들것같습니다.

  2. 포트가 겹치면서 일어난 상황인듯합니다. 포트를 다르게 하면 문제가 없을거라고 생각됩니다.

     

알함님의 프로필 이미지
알함
질문자

알려주셔서 감사합니다!

알함님의 프로필 이미지

작성한 질문수

질문하기