2016-11-17 43 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