로컬 서버에서 MySQL을 접속하려고 하였는데 위와 같이 에러가 났다.
ERROR 1045 (28000): Access denied for user 'root' @'localhost ' (using password: YES) 이 에러는 비밀번호가 틀렸을 때 발생하는 에러인데 나는 분명히 권한도 제대로 주었고 비밀번호도 확실하게 확인하여 제대로 적었는데 왜 오류가 난지 도통 이유를 알 수 없었다. 2일 가량을 MySQL을 삭제하고 다시 깔아도 보는 등의 수 많은 시도를 해봤지만 결국 해결하지 못했었다. 그러다가 머리 속에 127.0.0.1로 접근하는 와중에 문제가 생긴 게 아닐까라는 생각을 스쳐지나갔고 그것이 맞았다.
netstat -ano 명령어를 통해 port를 확인해보았고 아래와 같이 결과가 나왔다.
MySQL은 3306 포트인데 127.0.0.1과 0.0.0.0에서의 PID가 서로 달랐다.
리소스 모니터를 켜서 mysql이 점유하고 있는 port의 PID를 살펴보았다.
서로 다른 MySQL이 실행되고 있는 것을 알 수 있다.
이전에 MySQL을 압축파일로 다운 받고 삭제했다가 다시 설치하였는데 그 과정에서 제대로 삭제하지 못한 부분이 있었던 것이다.
즉, 현재 내가 사용하고 있는 MySQL의 port의 PID는 6036인데, 127.0.0.1:3306을 이미 다른 MySQL이 점유하고 있으니 현재 사용하는 곳에서는 127.0.0.1로 접근할 수가 없었던 것이다.
현재 127.0.0.1:3306을 점유하고 있는 MySQL을 종료해주고 접속해보도록 하자.
접속에 성공하는 것을 볼 수 있다.