>  기사  >  데이터 베이스  >  유휴 시간 이후 Node.js MySQL 애플리케이션에서 'ECONNRESET 읽기' 오류가 발생하는 이유는 무엇입니까?

유휴 시간 이후 Node.js MySQL 애플리케이션에서 'ECONNRESET 읽기' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-20 03:27:02168검색

Why do I get a

Node.js 서버의 유휴 시간 후 MySQL 읽기 ECONNRESET 오류

node-mysql을 통해 MySQL과 상호 작용하는 Node.js 애플리케이션에서 다음과 같은 문제가 자주 발생합니다. 유휴 시간 이후 "ECONNRESET 읽기" 오류가 발생했습니다. 이 문제는 몇 가지 질문을 불러일으킵니다:

1. Node와 MySQL 서버의 연결이 끊어졌습니까?

예, 이 오류는 Node와 MySQL 서버 간의 연결이 끊어졌음을 의미합니다. MySQL에는 연결을 닫기 전 유휴 시간 제한을 결정하는 "wait_timeout" 변수가 있습니다. 기본값은 8시간입니다.

2. 연결 풀이 연결 끊김을 처리할 수 없습니까?

node-mysql이 연결 풀을 사용하더라도 연결이 끊긴 연결을 자동으로 정리하지는 않습니다. 쿼리를 시도할 때까지 문제가 감지되지 않은 상태로 남아 있을 수 있습니다.

3. 다른 오류 원인을 찾고 계십니까?

"ECONNRESET 읽기" 오류가 흔히 발생하지만 MySQL 이외의 다른 잠재적인 원인을 배제하는 것이 좋습니다.

해결책:

이 문제를 해결하려면:

  1. wait_timeout을 늘립니다. MySQL의 "wait_timeout"을 더 높은 값(예: 28800초)으로 설정하여 연결이 종료되는 것을 방지합니다.
  2. 하트비트 구현: "SELECT 1;"과 같은 쿼리를 주기적으로 실행합니다. 연결을 유지하기 위해. 또는 "idleTimeoutMillis" 옵션과 함께 node-pool 모듈을 사용하십시오.
  3. 연결 풀 사용: node-pool과 같은 연결 풀은 유휴 연결을 자동으로 정리하여 활성 연결이 유지되도록 할 수 있습니다.

위 내용은 유휴 시간 이후 Node.js MySQL 애플리케이션에서 'ECONNRESET 읽기' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.