2013: Lost connection to MySQL server during query
MySQL의미
쿼리 실행 중 클라이언트와 MySQL 서버 간 연결이 끊어졌다. 서버가 응답하거나 결과를 반환하기 전에 연결이 끊겼다.
원인
net_read_timeout/net_write_timeout을 초과하는 장시간 쿼리. 메모리 부족(OOM)으로 서버가 쿼리/연결을 종료. 네트워크 단절. max_allowed_packet 초과. 서버 크래시 또는 재시작. 매우 큰 결과 세트.
해결 방법
네트워크 안정성과 서버 오류 로그를 확인하고 OOM이나 크래시가 있었는지 살핀다. 타임아웃을 늘린다: SET GLOBAL net_read_timeout = 120; 큰 쿼리는 배치로 분할한다. max_allowed_packet을 늘린다. 애플리케이션에 연결 재시도 로직을 추가한다. 긴 쿼리를 최적화한다.
같은 데이터베이스의 다른 항목
- 1305PROCEDURE does not exist
- 1227Access denied; you need (at least one of) the PRIVILEGE
- 3730Cannot drop table referenced by a foreign key constraint
- 1153Got a packet bigger than 'max_allowed_packet' bytes
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed (연결이 종료됨)
- 1290ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option (--read-only 옵션으로 실행 중)