유휴 시간 이후 Node.js에서 MySQL "read ECONNRESET" 오류
node-mysql 모듈을 통해 MySQL에 연결할 때 다음이 발생할 수 있습니다. 오랫동안 서버를 유휴 상태로 두면 "ECONNRESET 읽기" 오류가 발생합니다. 이 오류는 잠재적으로 MySQL의 유휴 연결 정리 메커니즘으로 인해 연결이 재설정되었음을 나타냅니다.
문제 진단:
-
연결 끊김: 이 오류는 Node의 연결과 MySQL 서버 간의 연결이 끊어졌음을 나타냅니다. 이는 기본값이 8시간인 MySQL 변수 "wait_timeout" 설정으로 인해 발생할 수 있습니다.
-
연결 풀 문제: Node-mysql은 연결 풀을 사용하여 연결 끊김을 처리하고 비활성 연결을 제거합니다. 그러나 쿼리를 할 때까지 연결이 끊긴 연결을 정리하지 못할 수도 있으며, 이로 인해 오류가 발생합니다.
-
외부 요인: "read ECONNRESET" 오류는 종종 MySQL과 관련되어 있습니다. , 연결 끊김의 원인이 되는 잠재적인 외부 요인이 있는지 확인하는 것이 좋습니다.
오류 해결:
-
대기 시간 초과 늘리기: MySQL "wait_timeout" 변수를 28,800초(8시간)와 같이 더 긴 기간으로 설정합니다. 이렇게 하면 연결이 끊어지지 않고 더 오랜 기간 동안 비활성 상태가 유지됩니다.
-
풀 정리 사용: 코드에 하트비트 메커니즘을 구현하여 주기적으로 SELECT 1을 보냅니다. 데이터베이스에 대한 쿼리를 수행하여 연결을 유지합니다.
-
유휴 시간 초과 강조: 노드 풀 모듈의dleTimeoutMillis 옵션을 사용하여 유휴 연결을 자동으로 정리하여 문제 발생을 방지합니다.
위 내용은 MySQL 연결이 유휴 상태인 후 Node.js에서 "read ECONNRESET" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!