프로젝트 서버를 실행하던 중 java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:address=(host=localhost)(port=3306)(type=primary). Connection refused: connect 이런 에러가 발생했다.
해당 에러는 애플리케이션이 MySQL 데이터베이스에 연결하려고 시도할 때, 데이터베이스에 연결할 수 없다는 것을 의미하며, 해결 방법은 다음과 같다.
※ DB 에서는 Connection refused: no further information 이렇게 나온다.
✔ MySQL 서버가 실행 중인지 확인하기
방법 1: 작업 관리자(Task Manager) 사용
→ 작업 관리자를 열고 (Ctrl + Shift + Esc),"서비스" 탭에서 클릭하고 "MySQL"(사용하는 DB로 입력) 서비스가 실행 중인지 확인
→ 실행 중이지 않다면, MySQL 서비스를 시작합니다.
방법 2: 명령 프롬프트에서 MySQL 서비스 상태 확인
→ 명령 프롬프트(CMD)를 관리자 권한으로 실행 후 net start 를 입력해 서비스가 실행 중인지 확인한다.
→ 실행 중이 아니라면 net start MySQL(사용하는 DB입력) 입력해 실행해 준다.
나의 경우 실행을 시켰지만 엑세스가 거부되었다고 나왔기 때문에 관리자 권한으로 실행을 시켜주었다.
✔ 관리자 권한으로 실행하기
Windows 서비스 관리 도구 사용