Node.js MYSQL 모듈의 핸드셰이크 비활성 시간 초과 오류 해결
P粉205475538
P粉205475538 2023-08-22 16:34:16
0
2
542
<p>저는 <code>node-mysql</code>을 사용하고 있으며 대부분의 쿼리가 잘 작동합니다. 그러나 일부 쿼리는 작동하지 않습니다. Node의 모든 버전(0.5~5.6.0)을 시도했고, 4.0과 4.1도 시도했지만 둘 다 도움이 되지 않았습니다. </p> <p>수동으로 변경해 보았지만 작동하지 않았습니다. <code>sequence</code> 파일을 다음과 같이 변경해 보았습니다. <code>this._idleTimeout = -1;</code> 그것도 도움이 되지 않았습니다. </p> <p>GitHub에서 문제와 내용을 읽었지만 도움이 되지 않았습니다. </p> <p>스스로 문제를 해결할 수도 있지만 추가 정보가 필요합니다. 시간 초과는 어디에서 발생합니까? 왜? 언제 일어난 일입니까? 이것은 어떤 유형의 메시지입니까? 시간 초과는 어디에서 발생합니까? </p> <pre class="brush:php;toolbar:false;">MYSQL_ERROR { [오류: 핸드셰이크 비활성 시간 초과] 코드: 'PROTOCOL_SEQUENCE_TIMEOUT', 치명적: true, 시간 초과: 10000 }</pre> <p><br /></p>
P粉205475538
P粉205475538

모든 응답(2)
P粉547420474

AWS 上部署并遇到此错误的用户,您需要对数据库/集群的安全组进行更改,添加入站规则,其中 인스턴스의 보안 그룹 입니다.

인바운드 규칙은 다음과 같아야 합니다.

으아악
P粉155128211

알겠습니다. 시간 초과는 Protocol.js 파일의 162번째 줄에서 발생합니다. node-mysql을 보면 쿼리된 변수가 "timeout"인 것을 볼 수 있습니다. 제한 시간을 기본값인 10000보다 훨씬 높은 값으로 설정하면 오류가 사라집니다. 예를 들면

으아아아

Sequence.js 파일(node_modules/mysql/lib/protocol/sequences/Sequence.js)에서 시간 초과를 편집할 수도 있습니다

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿