Can't connect to MySQL server on '%s:%u' (%d)
MySQL 클라이언트 오류 번호 2003(CR_CONN_HOST_ERROR)의 메시지 문자열을 식별합니다.
빠른 답변
- 우선 확인할 원인
- 현재 화면 또는 로그의 오류 번호가 2003이고 메시지가 `Can't connect to MySQL server on '%s:%u' (%d)` 형식과 일치하면 MySQL 클라이언트 오류 `CR_CONN_HOST_ERROR`입니다.
- 먼저 확인할 항목
- 현재 화면 또는 로그의 오류 번호가 `2003`인지 확인합니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
- 출처 확인일
- 2026-07-30
- 최종 검토
- 2026-07-27
- 수정일
- 2026-07-27
- 정정 이력
- 2026-07-29 이후 기록 없음
- 관련 기술
현재 증상
- 애플리케이션 오류 메시지
먼저 확인할 항목
현재 화면 또는 로그의 오류 번호가 `2003`인지 확인합니다.
현재 화면 또는 로그의 메시지가 `Can't connect to MySQL server on '%s:%u' (%d)` 형식과 일치하는지 확인합니다.
대상 호스트에서 MySQL 서버가 실행 중이고 네트워크 연결을 허용하는지 확인합니다.
클라이언트가 지정한 호스트·포트가 서버가 실제로 수신하는 네트워크 인터페이스와 포트인지 확인합니다.
방화벽 또는 포트 차단 서비스가 해당 MySQL 포트를 막지 않는지 확인한 뒤 같은 호스트·포트로 다시 연결합니다.
피해야 할 조치
주의
- 원격 연결 오류만으로 계정 권한, DNS, 애플리케이션 코드의 원인을 단정하지 않습니다.
- `bind_address`, 방화벽, MySQL 네트워크 설정을 동시에 바꾸지 않습니다. 변경 전 값과 접속 대상·포트를 기록합니다.
환경별 원인과 조치
확인
- 현재 화면 또는 로그에서 오류 번호와 메시지 문자열을 확인합니다.
- 대상 호스트에서 MySQL 서버가 실행 중이고 네트워크 연결을 허용하는지 확인합니다.
- 클라이언트가 지정한 호스트·포트가 서버의 실제 수신 인터페이스와 포트인지 비교합니다.
- 방화벽 또는 포트 차단 서비스가 해당 MySQL 포트를 막지 않는지 확인합니다.
- 오류 번호가
2003인지 확인합니다. - 메시지가
Can't connect to MySQL server on '%s:%u' (%d)형식인지 확인합니다. - 두 값이 일치하면 MySQL 클라이언트 오류
CR_CONN_HOST_ERROR로 식별합니다.
%s, %u, %d는 표시된 호스트, 포트, 숫자 값으로 대체될 수 있습니다.
재확인과 주의
서버 실행 상태, 수신 포트 또는 방화벽에서 확인한 한 항목만 수정한 뒤 같은 호스트·포트로 다시 연결합니다. bind_address, 방화벽, MySQL 네트워크 설정을 동시에 바꾸지 마세요.
출처
관찰값 기록
문제가 발생한 URL 또는 화면, 표시 시각, 운영 환경과 최근 변경 사항을 먼저 기록합니다. 화면이나 로그에 오류 문구가 일부만 보이면 앞뒤 문장을 보존하고 비밀번호·토큰·쿠키·개인정보는 가립니다.
다음 항목을 실제 값과 함께 확인합니다.
- 현재 화면 또는 로그의 오류 번호가
2003인지 확인합니다. - 현재 화면 또는 로그의 메시지가
Can't connect to MySQL server on '%s:%u' (%d)형식과 일치하는지 확인합니다. - 대상 호스트에서 MySQL 서버가 실행 중이고 네트워크 연결을 허용하는지 확인합니다.
- 클라이언트가 지정한 호스트·포트가 서버가 실제로 수신하는 네트워크 인터페이스와 포트인지 확인합니다.
- 방화벽 또는 포트 차단 서비스가 해당 MySQL 포트를 막지 않는지 확인한 뒤 같은 호스트·포트로 다시 연결합니다.
판정 기준
오류 문구가 일치해도 같은 원인이 확정되는 것은 아닙니다. 웹서버·런타임·운영체제·플랫폼과 최근 변경 사항을 비교하고, 기대한 관찰값이 나오지 않으면 다음 단계로 넘어가지 않습니다. 이 문서는 출처가 확인한 범위만 설명하며, 범위를 벗어난 원인과 조치는 단정하지 않습니다.
안전한 다음 확인
설정·권한·데이터를 변경하기 전에 백업과 되돌리기 방법을 기록합니다. 운영 환경의 방화벽 전체 해제, 인증서 검증 우회, 데이터 삭제, 비밀값 공개를 기본 조치로 사용하지 않습니다. 확인 결과가 문서의 조건과 다르면 관련 Platform·Component 문서와 공식 출처를 먼저 확인합니다.
원인 분포
[Observation] 수집된 3건에서는 서버 프로세스가 실행되지 않았거나 정상 기동되지 않은 경우, 리스닝 주소와 연결 설정이 불일치한 경우, 방화벽이 연결에 영향을 주는 경우가 관찰되었습니다.
[Hypothesis] 이 분포는 수집된 사례에 한정되며 실제 발생 빈도를 의미하지 않습니다.
오진 함정
[Observation] 연결 거부 오류가 발생했을 때 클라이언트 설정만 확인하지 않고 서버 프로세스 상태, 실제 포트 리스닝 여부, bind-address, 방화벽을 함께 점검한 사례가 있습니다.
[Observation] 서버 설정을 변경한 뒤에는 서비스 재시작과 설정값 검증이 필요했습니다.
환경 매트릭스
| 환경 | 관찰된 증상 | 확인·수정 사항 |
|---|---|---|
| 로컬호스트 | 로컬 MySQL 연결 거부 | mysqld 실행 상태와 포트 리스닝 여부 확인 후 서버 시작 |
127.0.0.1:3306 | 연결 거부 | 서버 프로세스 상태, bind-address, 방화벽, 실제 리스닝 주소와 연결 설정 확인 |
| 서버 설정 변경 후 애플리케이션 | 클라이언트 오류 지속 | 서비스 재시작 및 설정값 검증 후 애플리케이션 연결 재확인 |
진단 순서
- [Observation] MySQL 서버 프로세스가 실행 중인지 확인합니다.
- [Observation] 서버가 대상 포트에서 실제로 리스닝 중인지 확인합니다.
- [Observation]
bind-address와 클라이언트의 접속 주소·포트가 일치하는지 확인합니다. - [Observation] 방화벽 설정이 연결을 차단하는지 확인합니다.
- [Observation] 설정을 변경했다면 서비스를 재시작하고 설정값을 검증합니다.
- [Observation] 서버가 정상 기동된 뒤 애플리케이션 또는 클라이언트 연결을 재확인합니다.
참고 자료
MySQL · 공식 자료 · 확인 범위: MySQL 클라이언트 오류 번호 2003의 기호는 CR_CONN_HOST_ERROR입니다., 오류 번호 2003의 메시지는 `Can't connect to MySQL server on '%s:%u' (%d)`입니다. · 확인일: 2026-07-24
MySQL · 공식 자료 · 확인 범위: MySQL은 오류 2003이 네트워크 연결 거부를 나타낼 수 있다고 설명합니다., MySQL은 서버 실행 상태, 네트워크 연결 허용, 서버에 설정된 포트를 확인하도록 안내합니다., MySQL은 원격 MySQL 포트가 방화벽에 의해 차단되지 않았는지 확인하도록 안내합니다. · 확인일: 2026-07-27
확인 범위: 로컬 MySQL 접속에서 연결 거부 오류가 발생했습니다., mysqld 실행 상태와 포트 리스닝 여부를 확인한 뒤 서버를 시작해 연결을 복구했습니다. · 확인일: 2026-07-30
확인 범위: 127.0.0.1:3306 연결이 거부된 환경에서 서버 프로세스 상태와 bind-address, 방화벽을 점검했습니다., 실제 리스닝 주소와 연결 설정을 맞춘 뒤 접속했습니다. · 확인일: 2026-07-30
확인 범위: MySQL 서버 설정 변경 뒤 클라이언트 오류가 이어졌습니다., 서비스를 재시작하고 설정값을 검증한 뒤 서버 정상 기동과 애플리케이션 연결을 확인했습니다. · 확인일: 2026-07-30