inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

작업환경 세팅

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

311

알함

작성한 질문수 8

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)

 

 

java spring 동시성

답변 1

0

최상용

알함님 안녕하세요.

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

0

알함

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

0

알함

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

 

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

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

0

최상용

알함님 안녕하세요.

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

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

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

     

0

알함

알려주셔서 감사합니다!

레디선 테스트코드에서 채널이름은 없어도 되는건가요?

0

41

2

낙관적 락을 사용할 떄 차이점

0

118

2

동시성 검증 코드에 관한 문의

0

91

2

단일연산

0

69

2

낙관적락vs. 레디스락

0

106

2

안녕하세요. 레디슨 질문있습니다..!!

0

66

2

@Lock(OPTIMISTIC)이 필요한 이유

0

89

2

get_lock 의 timeout이 3000초 이던데 너무 긴거 아닌가요?

0

128

2

DataSource Hikari 사용 이유

0

145

2

saveAndFlush 사용 이유 문의

0

112

3

비관적 락 VS 네임드 락

0

159

3

application.yaml 에 redis 정보

0

99

2

왜 클래스 이름에 Facade 가 붙나요?

0

181

2

@Transactional 으로 인한 동시성 문제 발생 원인이 궁금합니다.

0

218

2

@modifying 이용한 동시성 제어

0

168

2

DB락과 분산락

0

260

2

NamedLock 테스트 실패

0

186

2

테스트에서 트랜잭션 어노테이션 질문 있습니다.

0

171

2

optimistic Lock 재시도 질문입니다.

0

229

2

낙관적 락 테스트 실패

0

239

2

오류?

0

1626

4

LettureLockStockFacadeTest에서 오류가 발생합니다.

1

268

2

Pessimistic Lock 전체 테스트 오류 문의

0

358

3

비관적 락 vs 레디스(Lettuce)락 비교 관련 질문

0

459

2