首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不关闭mysql节点js模块中的mysql连接,是否会出现问题?

问如果不关闭mysql节点js模块中的mysql连接,是否会出现问题?
EN

Stack Overflow用户
提问于 2012-05-31 07:40:57
回答 4查看 3.6K关注 0票数 5

如果我们不关闭或结束在节点js中的mysql连接,它在功能上是否会产生影响。

我是这样做的

代码语言:javascript
复制
var mysql      = require('mysql');
var connection = mysql.createConnection(...);

connection.query('SELECT 1', function(err, rows) {
  // connected! (unless `err` is set)
});

我的代码中的任何地方都不会终止mysql连接。我的问题是,是否有必要关闭mysql连接。如果我们不关闭mysql连接,我将来还会面临任何其他问题吗?

请帮助我熟悉nodejs

EDIT1 I不会遇到任何问题,如无法连接,太多连接无法打开等,意味着有任何与资源相关的问题吗?正确的。

EDIT2

如果我们不手动结束它,或者使用end函数,那么在哪个瞬间mysql连接就会关闭呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-31 09:09:09

你应该关闭连接。

您所做的点取决于您的程序对该连接所做的操作。

如果程序寿命很长,只需要一个连接,但是持续使用该连接,那么您可以只打开一个连接,但是如果需要的话,应该准备重新打开连接--例如,如果服务器重新启动的话。

如果程序只打开一个连接,执行一些操作,然后在一段时间内不使用该连接,则应该在不使用它的情况下关闭连接。

如果程序是短暂的,即它建立一个连接,做一些事情,然后退出,你可以不关闭连接,因为它会自动关闭当你的程序退出。

票数 7
EN

Stack Overflow用户

发布于 2012-12-24 15:59:18

实际上,您会遇到像MySQL这样的问题:

“主机由于许多连接错误而被阻塞;用‘mysqladmin刷新-主机’解除阻塞”

因为MySQL将开始将那些失败的断开计算为“连接错误”。然后,在MySQL服务器上执行刷新主机之前,数据库仍然无法使用。我知道这是事实,它发生在我们的NodeJS项目中。

编写一些代码,在使用connection.end()或connection.destroy()的任何输出或呈现语句之前显式关闭db连接

票数 2
EN

Stack Overflow用户

发布于 2012-05-31 07:42:25

不,不用关了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10829333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档