DEV WIKI
백엔드 · 문제 해결 가이드

MySQL 연결 끊김 오류 2006과 2013 확인 방법

MySQL 연결 끊김 오류를 오류 번호 2006과 2013으로 구분하고 서버·네트워크·연결 수명·패킷 제한을 확인하는 순서를 설명합니다.

빠른 답변

MySQL 연결 끊김 오류는 원문과 오류 번호부터 확인합니다. `MySQL server has gone away` 또는 오류 2006은 쿼리를 보내기 전에 연결을 사용할 수 없어진 상태이고, `Lost connection to MySQL server during query` 또는 오류 2013은 쿼리를 보낸 뒤 전체 응답을 받지 못한 상태입니다.

적용 범위
이 가이드의 시작 증상과 각 분기 조건이 일치하는 경우
출처
MySQL
출처 확인일
2026-08-29
최종 검토
2026-08-29
수정일
2026-08-29
대상
사이트 운영자, 쇼핑몰 운영자, 웹 에이전시, 프리랜서
오류·수정 제보 (새 창에서 열림)

이 가이드가 맞는 경우

  • 애플리케이션 오류 메시지

상황별 다음 단계

호스팅사·개발자에게 전달할 내용

변경 전 기록

  • 오류 원문, 오류 번호, 발생 시각, 마지막 정상 쿼리 시각을 전달합니다.
  • 실행한 쿼리의 종류와 요청 크기를 전달하되 비밀번호, 인증 정보, 개인정보는 제거합니다.
  • 서버 uptime, 오류 로그, 최근 재시작·배포·네트워크 변경 시각을 함께 전달합니다.

알아둘 점

MySQL 연결이 끊겼다는 메시지만으로 서버 설정을 바꾸지 않습니다. 오류 번호와 원문을 먼저 확인해 연결이 끊긴 구간을 구분합니다.

오류 원문으로 구분

오류 번호오류 원문확인된 상태상세 문서
2006MySQL server has gone away클라이언트가 서버에 쿼리를 보내지 못함오류 2006 확인
2013Lost connection to MySQL server during query쿼리를 보낸 뒤 전체 응답을 받지 못함오류 2013 확인

클라이언트 오류의 SQLSTATE는 둘 다 HY000일 수 있으므로 SQLSTATE만으로 구분하지 않습니다.

먼저 기록할 것

  1. 오류 원문, 오류 번호, 발생 시각을 기록합니다.
  2. 마지막 정상 쿼리 시각과 오류가 난 쿼리의 종류를 기록합니다.
  3. 같은 시각에 다른 요청도 실패했는지 확인합니다.
  4. 서버 재시작, 배포, 네트워크 또는 방화벽 변경 시각을 기록합니다.
  5. 쿼리와 로그에 포함된 비밀번호, 인증 정보, 개인정보를 제거합니다.

공통 확인 순서

  1. 서버 uptime과 오류 로그에서 서버가 종료되거나 다시 시작됐는지 확인합니다.
  2. 오류 2006이면 연결의 유휴 시간과 wait_timeout, 연결 풀의 최대 연결 수명을 비교합니다.
  3. 오류 2013이면 쿼리 실행 시간과 클라이언트·중간 네트워크 장비의 읽기 시간 제한을 비교합니다.
  4. 특정 대용량 요청에서만 발생하면 요청 크기와 서버·클라이언트의 max_allowed_packet을 비교합니다.
  5. 여러 요청이 같은 시각에 실패하면 서버와 애플리케이션 사이의 네트워크·DNS 상태를 확인합니다.
SHOW GLOBAL STATUS LIKE 'Uptime';SHOW GLOBAL VARIABLES LIKE 'wait_timeout';SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';

조회 결과는 현재 상태입니다. 오류 시각의 서버 로그와 애플리케이션 로그를 함께 비교해야 합니다.

수정 뒤 재확인

  1. 같은 유휴 시간 또는 같은 크기의 요청으로 재현 조건을 맞춥니다.
  2. 새 연결이 필요한 상황에서 애플리케이션이 닫힌 연결을 재사용하지 않는지 확인합니다.
  3. 서버 로그에 종료·재시작·패킷 오류가 다시 기록되는지 확인합니다.
  4. 쓰기 작업을 재시도한다면 중복 데이터가 생기지 않는지 확인합니다.

시간 제한과 패킷 제한을 크게 늘리는 조치는 실제 제한 초과가 확인된 경우에만 검토합니다. 원인이 서버 재시작, 연결 관리, 네트워크 단절이면 해당 설정 변경만으로 해결되지 않습니다.

출처

같은 상황의 가이드

참고 자료

MySQL :: MySQL 8.4 Error Reference :: 3 Client Error Message Reference (새 창에서 열림)

MySQL · 공식 자료 · 확인 범위: 오류 번호 2006은 CR_SERVER_GONE_ERROR이고 메시지는 MySQL server has gone away입니다., 오류 번호 2013은 CR_SERVER_LOST이고 메시지는 Lost connection to MySQL server during query입니다. · 확인일: 2026-08-29

MySQL :: MySQL 8.4 Reference Manual :: B.3.2.7 MySQL server has gone away (새 창에서 열림)

MySQL · 공식 자료 · 확인 범위: CR_SERVER_GONE_ERROR는 클라이언트가 서버에 쿼리를 보내지 못한 상태입니다., CR_SERVER_LOST는 클라이언트가 쿼리의 전체 응답을 받지 못한 상태입니다., 시간 제한, 패킷 크기, 이름 확인 실패, 서버 종료와 재시작은 확인할 원인 후보입니다. · 확인일: 2026-08-29