我在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
});
但这没有效果。
答案 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')