Database

MySQL 접속 에러 / ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

천방지축 개발노트 2019. 3. 20. 01:30

MySQL 접속 에러

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)


로컬에서 root계정으로 MySQL접속을 시도했는데 DB Server에 접속되지 않는 에러가 발생했다.

MySQL 접속 에러
MySQL 접속 시도 시 에러 발생

위의 에러를 해석해보면

'localhost'(10061). 즉, 로컬에서 MySQL서버에 연결(접속)할 수 없음.

이라는 뜻인데, 사실 해당 에러를 한두 번 겪은 것이 아니었다.

 

보통 이럴 때는 이 에러를 단순하게 'root비밀번호가 틀렸다'로 이해했었는데, 결국은 MySQL을 재설치하면서 해결하곤 했다. (고통의 시간이었다...) 하지만 이번 경우는 비밀번호를 확실하게 적어 두었던 거라 틀림없었기 때문에 해결법을 찾아봤다.

 

이유가 무엇인고 하오니, DB연결이 안 되는 문제는 계정 비밀번호가 틀린 경우 이외에도 MySQL 자체가 실행되어있지 않은 경우가 있었다... 그렇다. 그냥 MySQL실행이 되어있지 않았던 탓이었다...흠..🤢

 

① 제어판 - 시스템 및 보안 - 관리 도구 - 서비스 로 이동.

② mysql을 찾고 서비스 시작 클릭.

MySQL 서비스 재시작

 

③ mysql을 재실행하여 비밀번호 입력해보니 정상적으로 접속에 성공..

MySQL 접속 성공
MySQL Client 접속 성공

하지만 비밀번호가 틀렸으면 틀렸다고, MySQL이 실행이 안됐으면 안 됐다고 if문 같은 걸로 분기 처리해서 좀 친절하게 알려주면 안 됐나.. 싶어 그냥 조금 아쉬움이 남는 경험이었습니다. 정말 이것 때문에 10시간은 낭비한 느낌ㅋㅋ

 

 

MySQL root비밀번호가 정말 틀린 경우 해결법(MySQL 5.7이후 버전)

① MySQL이 설치된 폴더경로에서 \bin까지 들어간다.

(예: C:\Program Files\MySQL\MySQL Server 8.0\bin)

mysqld --skip -grant 명령을 실행하여 암호없이 MySQL에 접속할 수 있도록 설정.

③ cmd창을 새로 띄우고 mysql -uroot mysql로 root계정으로 MySQL접속.

(또는 mysql.exe파일을 실행하여 접속)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할 비밀번호'; 로 root유저의 비밀번호 변경.

⑤ flush privileges; 로 변경 사항 저장!!

⑥ quit; 으로 나갔다가 변경한 비밀번호로 로그인하면 MySQL Server에 접속 성공!!