[MySQL] Error syncing database: ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED ::1:3306

Haeun Noh·2024년 5월 27일
0

Error

목록 보기
10/10
post-thumbnail

0528


🚨 발생 배경

MySQL을 사용하는 express서버를 실행하려고 하니 아래와 같은 에러가 발생하였습니다.

Error syncing database: ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED ::1:3306

3306포트의 MySQL 서버에 연결하지 못했다는 것을 알 수 있었습니다.


👀 원인 분석

🎯 cmd에서 MySQL port와 PID 확인하기

cmd에서 MySQL에 접속하려 하니 아래와 같은 에러 메시지를 볼 수 있었고 이를 통해

내 컴퓨터 환경에서 3306포트의 PID값은 "10061"이라는 것을 확인할 수 있었습니다.

그렇다면 3306포트가 활성화되지 않은 게 아닐까?


🎯 현재 활성화된 로컬 주소와 PID값 확인하기

아래의 명령어로 현재 활성화된 주소들을 출력할 수 있습니다.

netstat -ano

결과를 확인해보니 제가 MySQL에서 쓰는 3306포트는 활성화가 돼있지 않은 상태였고 MariaDB에서 사용하는 3308포트만이 살아있는 것을 확인했습니다.

또한 3306 포트의 PID값도 존재하지 않았습니다.


🎯 작업 관리자에서 실행중인 mysqld.exe 확인하기

"작업관리자"에 들어가 스크롤을 내리다보면 mysqld.exe가 나오게 됩니다.

이 때 저는 MySQL, MariaDB 각각의 mysqld.exe가 나와야 하기 때문에 총 두 개가 떠야 하는데 이마저도 MariaDB만이 실행되고 있었습니다.


🛠️ 해결 과정

이제 MySQL이 실행되지 않았다는 문제점을 발견하였으니 다시 실행 시키는 작업에 들어가겠습니다.

🎯 서비스에서 MySQL 시작시키기

"서비스"에 들어가 마찬가지로 스크롤을 내리다보면 MySQL을 발견할 수 있습니다.
이 때 "시작 유형"이 "사용 안 함" 상태이니 이를 "자동"으로 바꾸어 시작할 준비를 해야합니다.

1. "시작 유형"에서 "자동"을 선택합니다.
2. "적용"을 눌러 변경사항을 저장합니다.
3. "확인"을 눌러 설정 변경을 마칩니다.


MySQL을 우클릭하여 "시작"을 눌러 MySQL을 재시작합니다.

이렇게 "상태"가 "실행 중"이 뜨면 정상적으로 실행이 된 것입니다.

제 express서버에서도 MySQL이 잘 연동이 된 모습을 확인할 수 있습니다.


🎯 얻은 점

DB 서버에 연결하지 못했다면 port와 PID를 확인하고 작업 관리자에서 실행중인 프로세스를 확인한 다음 실행 중이지 않다면 서비스에서 재실행을 시켜주어야 합니다.


이런 에러를 몇 번 마주하면서 "작업관리자"와 "서비스"는 반드시 확인해봐야 한다는 생각이 들었습니다.

현재 제 상태로는 대부분이 그 선에서 해결이 되었는데 현업에서 일을 할 때는 이번에 알게 된 "PID"라는 것이 중요해질 것 같다는 느낌적인 느낌을 받았습니다.

네트워크와 PID에 대해서 조금 더 공부하고 이를 해결 과정에 적용시켜봐야겠습니다.


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글