CS/데이터베이스(DB)

MySQL ERROR 1045 (28000) : Access denied for user 해결 방법

hyunah 2021. 6. 6. 00:00

MySQL ERROR 해결 과정



클론 코딩을 위해 IntelliJ로 MySQL을 연결하던 중 error 1045(28000) 때문에 localhost에 연결할 수 없다는 에러를 마주하였다.
구글링을 하면 나오는 에러의 원인은 다음과 같다.

  1. 아이디 또는 패스워드가 맞지 않음.
  2. user에 지정된 접속가능한 host가 아님.




MySQL Workbench로 비밀번호를 새로 지정하고, host도 확인한 후였기 때문에 나는 양쪽 다 해당되지 않는 상황이었다. 결국 에러를 해결하지 못하고 MySQL server를 지웠다가 다시 설치하였는데 그 과정에서 다음과 같은 사항이 에러의 원인이었을 수도 있다는 생각이 들었다. 바로...

 

 




다른 task가 3306 port를 사용 중이었던 것이다!






이 사실을 MySQL server를 다시 설치하면서 port 번호를 입력할 때가 되어서야 알게 되었고, 다음과 같은 과정을 거쳐 3306 port를 사용하고 있는 task를 kill하였다.




  1. cmd 창에서 netstat -ano 입력
  2. 3306 port를 사용하고 있는 task의 pid 기억
  3. cmd 창에서 taskkill /F /PID <기억해둔 task의 pid> 입력



혹시 taskkill 액세스가 거부되었다고 나오면 cmd창을 관리자 권한으로 실행하여서 다시 시도해보자.






실제로 다시 이 오류를 마주했을 때 cmd창을 들어가서 확인해보니 3306 포트를 사용하고 있는 task가 있었고, kill하고 다시 시도하니 성공적으로 연결되었다!