Backend

눈물줄줄 인텔리제이 - Docker MYSQL 연결 에러 트러블슈팅/ ERROR 1045 (28000): Access denied for use

ruiH 2023. 5. 18. 15:52

대출 심사 프로젝트를 진행하고자 개발환경 구축 중인데 이것마저 쉽지 않았다.
단순히 docker로 mysql을 띄워서 인텔리제이와 연결하려고 하는 것인데 왜 에러가 나니 ㅜㅜ?
 


 
처음 발생한 에러는 ERROR 1045 (28000): Access denied for user (using password: YES) 이다.

 
구글링 해보니 주로 비밀번호가 맞지 않을 경우 나오는 에러라는데 그럴리가 없었다.
docker terminal이나 workbench에서는 잘만 붙는 것이 아닌가? 인텔리제이 DB Navigator만 연결이 안되는 것이라 비밀번호 오류가 아님은 확실했다.
 
(인텔리제이 mysql 못 붙는건 권한 문제라는 말도 많아서 원인이 아닐거라고 생각은 했지만,, 그래도 grant privileges all 도 해보고 with grant option 까지도 줘봤는데 다 소용 없었다. 분명 다른 원인이 있을거야 - )
 


 
더 구글링 해봤더니 mysql이 local환경에 이미 떠 있어서 충돌날 수 있다고 한다. 아 - 맞다 나 로컬에도 mysql 있지 
mysql 내려주고 mysql -u fintech -p 명령어로 다시 접속 시도

brew services stop mysql

 
어라 에러가 바뀌었다.

 


결론만 말하자면 호스트를 명시적으로 입력해주니 연결 성공 했다. 
mysql -u fintech -h 127.0.0.1 -p 명령어로 접속 시도 

 
성공 박수 짝짝 해결 완료
 


 
명시적으로 호스트 선언을 해야하기때문에 application-domain.yml 에도 등록한 이름으로 안 쓰고 127.0.0.1로 선언 해줬다.
 

 


 
참고로 mysql은 도커로 이렇게 올렸다.

docker run -d \
--name fintech-mysql \
-e MYSQL_ROOT_PASSWORD="fintech" \
-e MYSQL_USER="fintech" \
-e MYSQL_PASSWORD="fintech" \
-e MYSQL_DATABASE="fintech" \
-p 3306:3306 \
mysql:latest