节点应用程序:如何在debbuging时增加mysql2的超时时间?

时间:2017-10-15 15:40:00

标签: javascript mysql node.js

我在web应用程序中使用mysql2节点包(v1.2.0),当我使用debbugger(使用webstorm)单步执行代码时,如果我在某些断点处停留太久,启动连接将有时会超时。

以下是我超时时收到的消息:

Error: connect ETIMEDOUT
    at Connection._handleTimeoutError (/Volumes/github-image/bitcoin-core/node_modules/mysql2/lib/connection.js:179:13)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)

我希望增加超时以避免此问题。我尝试在建立连接时添加自定义超时值。

export const connection = mysql.createConnection({
  host: dbHost,
  user: dbUser,
  password: dbPassword,
  database: dbName,
  timeout: 60000
});

但这没有效果。

2 个答案:

答案 0 :(得分:1)

如果客户端超时,则连接超时的属性为connectTimeout,而不仅仅是timeout。 (兼容的)mysql包的documentation读取:

  

connectTimeout:在初始连接MySQL服务器期间发生超时前的毫秒数。 (默认值:10000

答案 1 :(得分:0)

MySQL也有自己的超时。您可以将其修改为likeo(来自here

con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')