如果我们不closuresmysql节点js模块中的mysql连接,是否有任何问题

如果我们不closures或结束节点js中的mysql连接,它是否影响function。

我正在这样做

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

我的代码中没有结束mysql连接。 我的问题是需要closuresmysql连接。 如果我们不closuresmysql连接,将来我会遇到其他任何问题。

请帮我joinnodejs

编辑1我不会遇到任何问题,如无法连接,打开等太多的连接,意味着任何资源相关的问题? 对。

EDIT2

如果我们不手动结束它或使用end函数,在哪一瞬间mysql连接将会closures?

应该closures连接。

你做什么取决于你的程序用这个连接做什么。

如果程序是长期存在的,只需要一个连接,但是连续使用这个连接,那么你可以只打开一个连接,但是如果需要,你应该准备重新打开连接 – 例如,如果服务器重新启动。

如果程序只是打开一个连接,做一些事情,然后不使用连接一段时间,你应该closures连接,而不使用它。

如果程序是短暂的,也就是说连接起来,做一些事情,然后退出,不用closures连接就可以离开,因为当程序退出时它会自动closures。

不,你不需要closures它。

其实,你会遇到这样一个来自MySQL的问题:

“[host]由于连接错误而被阻塞;用'mysqladmin flush-hosts'解锁

由于MySQL将开始将那些失败的断开连接logging为“连接错误”。 然后,您的数据库将保持不可用,直到您在MySQL服务器上执行FLUSH HOSTS。 我知道这是事实,它发生在我们的NodeJS项目。

在使用connection.end()connection.destroy()输出或渲染语句之前,编写一些代码来显式closures数据库连接。

如果你的问题是“当我告诉服务器,我正在closures连接时,是否有任何特定的清理在MySQL端”,那么答案是“不,如果你退出你的客户端进程或closures套接字,就像调用connection.end )”