2016-11-17 7 views
0
var express = require('express'); 
var mysql = require('mysql'); 
var connection = module.exports = mysql.createConnection({ 
    host: 'myhost.com', 
    port:'3307', 
    user: 'username', 
    password: 'password', 
    database: 'mydatabase' 
}); 

connection.connect(function(err) { 
    if (err){ 
    throw err; 
    } 
    else 
    console.log('You are now connected...'); 
}); 

때로는 데이터베이스에 연결하려고 할 때 ECONNRESET 오류가 발생합니다. 도와주세요. 나는 많은 것을 시도했지만 아무것도 작동하지 않는 것 같습니다.노드 js (Express js) MySQL은 ECONNRESET 오류를 읽습니다.

+0

가능한 복제 [노드 JS ECONNRESET (http://stackoverflow.com/questions/17245881/node-js-econnreset) 당신은 대답 주석으로이 문제를 했어야 –

답변

0

이 대답에서 솔루션을 찾을 수 있습니다 https://stackoverflow.com/a/22906189/1790397

  1. MySQL은 참으로 유휴 연결을 치기 않습니다. MySQL 변수 "wait_timeout"은 시간 초과 전에 초 수를 설정하고 기본값은 8 시간입니다. 우리는 기본값을 그보다 훨씬 크게 설정할 수 있습니다. 'wait_timeout'과 같은 쇼 변수를 사용하십시오; 시간 제한 설정을보고 wait_timeout = 28800; 그것을 바꿀 수 있습니다.
  2. 이 문제에 따르면 node-mysql은 이러한 종류의 연결 해제 후 풀 연결을 제거하지 않습니다. 모듈 개발자는 SELECT 1을 호출하는 것과 같이 연결을 유지하기 위해 하트 비트를 사용하도록 권장했습니다. 간격으로. 또한 노드 풀 모듈과 idleTimeoutMillis 옵션을 사용하여 유휴 연결을 자동으로 제거하는 것이 좋습니다. 의
+1

. 반복되는 일을해서는 안됩니다. – Darshana

+0

평판이 충분하지 않아서 그럴 수 없습니다. – putuyuwono