NodeJS:MySQL 有时会引发 ETIMEDOUT 错误

2024-05-03

我目前正在使用 NodeJS 开发一个应用程序。

然而,经常服务器抛出这个错误,我无法与mysql交互。

 [Error: read ETIMEDOUT]
  code: 'ETIMEDOUT',
  errno: 'ETIMEDOUT',
  syscall: 'read',
  fatal: true }
{ [Error: Cannot enqueue Query after fatal error.] code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR', fatal: false }

有人有办法解决这个问题吗?

Thanks


从你的问题来看,我假设你可以完美地使用你的数据库,但是这个错误经常在连接启动的给定时间后发生......

假设您正在使用node-mysql
来源 :https://github.com/felixge/node-mysql#error-handling https://github.com/felixge/node-mysql#error-handling
您的错误终止了与数据库的连接:

致命错误:布尔值,指示此错误是否是连接对象的终端错误。
如果错误不是来自 MySQL 协议操作,则不会定义此属性。

注意:“错误”事件在节点中比较特殊。如果它们发生时没有 连接监听器,打印堆栈跟踪,并且您的进程是 被杀了。

tl;dr:该模块不希望您处理静默故障。你 应始终为您的方法调用提供回调。如果你想 忽略此建议并抑制未处理的错误,您可以这样做:

    // I am Chuck Norris:
connection.on('error', function() {});

您可以从中检查连接状态并在需要时执行重新连接。


您还可以尝试手动连接到 mysql 服务并更改请求超时:

wait_timeout” : the amount of seconds during inactivity that MySQL will wait before it will close a connection on a non-interactive connection in seconds.

http://www.serveridol.com/2012/04/13/mysql-interactive_timeout-vs-wait_timeout/ http://www.serveridol.com/2012/04/13/mysql-interactive_timeout-vs-wait_timeout/
https://support.rackspace.com/how-to/how-to-change-the-mysql-timeout-on-a-server/ https://support.rackspace.com/how-to/how-to-change-the-mysql-timeout-on-a-server/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodeJS:MySQL 有时会引发 ETIMEDOUT 错误 的相关文章

随机推荐

  • tidyr:在函数内使用 mutate

    我想使用 tidyverse 中的 mutate 函数来基于旧列创建一个新列 仅使用数据框和字符串 代表列标题 作为输入 我可以在不使用 tidyverse 的情况下让它工作 参见下面的函数 f 但我想使用 tidyverse 让它工作 参
  • 抱歉,该视频无法在视频视图中播放?

    freinds 我正在使用以下代码在我的应用程序中显示 mp4 视频 并面临以下问题 我在 google 和 stackoverflow 上看到了很多与这个问题相关的帖子 但每个人都给出了自己的建议 并且没有共同的答案 1 我在模拟器中看不
  • Android ProGuard 混淆库:让类无法工作

    Intro 我在 AS 1 项目中有 2 个模型 带有一些 公共 API 类 的 Android 库项目 Android APP依赖上述库 库模块在依赖列表中 Task 我想混淆我的库项目 因为我想将其公开为公共 SDK 但又要保护我的代码
  • 将数组值与同一数组中的其他值进行比较

    我想要实现的是 它将循环遍历数组 然后它会检查数组中的项目在三个点上是否相同 product id 尺寸值和颜色值 我想创建一个新数组 其中列出了项目 我唯一不想要的是重复的值 我希望重复的值如果在这三个点上相同 则数量将被计算在一起 就像
  • 如何在 Spring MVC simpleformcontroller 上添加错误?

    我的 Spring MVC 2 5 应用程序中遇到这个问题 我不知道该怎么办 这是我的代码 public class AddStationController extends SimpleFormController private Sim
  • Android相对布局放置问题

    我在 XML 中为列表项创建相对布局以用于 ListView 中的一系列项目时遇到问题 我已经尝试了几个小时 并且正在撕扯我的头发 试图让它看起来像我想要的那样 但无法让所有东西都出现在正确的位置 而不是重叠或错位 我可以获取第一张图像和接
  • JSF 2.0:如何设置验证错误的顺序

    我正在使用 Jsf 2 和 Hibernate Validator 它工作正常 但我不知道如何设置生成的错误的顺序 举个例子 我的托管 Bean public class UserPresentation NotNull message E
  • .Net 有什么好的解析库吗?

    我正在寻找一些简单易用 语法易于定义的东西 虽然我以前没用过 ANTLR http www antlr org 有 C 运行时
  • ggplot 中的 Geom_area 顺序

    我的样本队列数据在绘制时未进行颜色编码或按正确的时间顺序显示ggplot 以下代码用于生成绘图 library ggplot2 blues lt colorRampPalette c lightblue darkblue p lt ggpl
  • 无法在 TFS 中签入 UserControl.xaml 文件。接收错误:TF10169

    Visual Studio 2013 中的项目类型是桌面应用程序 我在该桌面应用程序中添加了 XAML 格式的用户控件 我使用了一些兼容性函数和库 以便 xaml 控件能够与简单的桌面应用程序集成 TFS 正在检查其他相关文件 但是当将 x
  • 计算素数并附加到列表

    我最近开始尝试使用 python 解决 Euler 项目的问题 并且在尝试计算素数并将其附加到列表中时遇到了这个障碍 我编写了以下代码 但我很困惑为什么它在运行时不输出任何内容 import math primes def isPrime
  • ShinyApp:由对等方重置连接

    我之前构建的闪亮应用程序在我的旧笔记本电脑上运行良好 最近我买了一台装有Windows10的新笔记本电脑 设置完所有内容后 我尝试运行该应用程序 但浏览器立即打开并关闭 并出现错误 正在收听http 127 0 0 1 5004 http
  • 从自定义类导入时,XMLBeans jar 无法签名

    在 NetBeans 中 我创建了一个 Exporter 类 该类使用 APACHE POI 将一些数据导出到 EXCEL 文件 而 APACHE POI 使用 XMLBeans 我通过下载 zip 二进制文件并手动添加 jar 来添加 A
  • C# SerialPort BaseStream ReadAsync - CancellationToken 从未取消?

    我尝试以异步方式从串行端口读取数据 请记住操作所花费的时间不得超过指定的时间段 我使用的代码 private async Task
  • unsafeInterleaveIO 什么时候不安全?

    与其他不安全 操作不同 文档 http hackage haskell org packages archive base latest doc html System IO Unsafe html v unsafeInterleaveIO
  • 如何在 SQL Server 2000 中传递大于 varchar(8000) 的字符串参数?

    如果将字符串参数定义为大小大于 8000 则会出现编译错误 e g The size 9000 given to the type varchar exceeds the maximum allowed for any data type
  • 使用 lambda 或 Stream API 合并流以生成交替序列

    我有一些按预期返回 Stream 的代码 但也许可以用某种类型的 lambda 或 stream 操作替换它 而不是耗尽 a 中的迭代器while loop 它只是一种交替流中元素的方法first and second当其中一个元素耗尽时停
  • 在 python 中计时时,我应该如何考虑 subprocess.Popen() 开销?

    编码社区的成员比我更聪明 我有一个 python 问题要问你们 我正在尝试优化一个 python 脚本 该脚本 除其他外 返回子进程执行和终止的挂钟时间 我想我已经接近这样的事情了 startTime time time process s
  • 对 Python 的 id() 感到困惑[重复]

    这个问题在这里已经有答案了 我可以理解以下定义 每个对象都有一个身份 类型和值 对象的身份 一旦创建就永远不会改变 你可能会认为它是 对象在内存中的地址 这is操作员比较身份 两个物体 这id 函数返回一个代表其值的整数 身份 我假设上面的
  • NodeJS:MySQL 有时会引发 ETIMEDOUT 错误

    我目前正在使用 NodeJS 开发一个应用程序 然而 经常服务器抛出这个错误 我无法与mysql交互 Error read ETIMEDOUT code ETIMEDOUT errno ETIMEDOUT syscall read fata