gpt4 book ai didi

mysql - NodeJS在Mac上运行,在centOS部署时出现错误

转载 作者:行者123 更新时间:2023-11-29 03:33:45 25 4
gpt4 key购买 nike

我有一个使用 Node.js 和 MySQL 的项目。该项目在本地 MAC osx 上运行良好。但是在centOS服务器上部署时出现错误。该项目有 2 个部分,第一个是使用 cron 自动运行,自动从一个网站获取数据,并将这些数据更新到 MySQL 中。这部分在本地和在线服务器上都能正常工作。但是另一部分不是,那部分是在浏览器上显示UI,但是访问的时候显示错误。

Error: Cannot enqueue Query after fatal error.
at Protocol._validateEnqueue (/home/xx/node_modules/mysql/lib/p rotocol/Protocol.js:193:16)
at Protocol._enqueue (/home/xx/node_modules/mysql/lib/protocol/ Protocol.js:129:13)
at Connection.query (/home/xx/node_modules/mysql/lib/Connection .js:185:25)
at SessionStore.get (/home/xx/node_modules/express-mysql-sessio n/lib/index.js:92:18)
at session (/home/xx/node_modules/express-session/index.js:348: 11)
at Layer.handle [as handle_request] (/home/xx/node_modules/expr ess/lib/router/layer.js:82:5)
at trim_prefix (/home/xx/node_modules/express/lib/router/index. js:270:13)
at /home/xx/node_modules/express/lib/router/index.js:237:9
at Function.proto.process_params (/home/xx/node_modules/express /lib/router/index.js:312:12)
at /home/xx/node_modules/express/lib/router/index.js:228:12

(这个错误在控制台日志和浏览器上都有显示,之后项目还在运行,所以我猜这是来自MySQL)。

这是sql连接文件:简单的就是

var config = require('./config');
var mysql = require('mysql'),
host = config.hostName,
user = config.databaseUser,
password = config.databasePassword,
database = config.databaseName;

module.exports = mysql.createPool({
connectionLimit : 10,
host: host,
user: user,
password: password,
database: database
});

我是这样调用它的:

imgExport.selectLast = function(callback){
conn.getConnection(function(err,conn) {
querySelectLast15Secon = "SELECT * FROM image WHERE year(moderate_time) = year(curdate()) AND month(moderate_time) = month(curdate()) AND (time(moderate_time) >= (curtime() - 15));";
conn.query(querySelectLast15Secon, function (err, rows, fields) {
if (err) throw err;
callback(rows);
conn.release();
})
});
};

我在调试代码之前使用了 console.dir(conn.threadId),它打印出来是这样的,那是什么意思? (每个数字在行中)

6177 6180 6181 6184 6183 6185 6176 6178 6179 6177 6183 6184 6185 6182 6180 6177 6176 6181 6183

最佳答案

已修复!问题出在express-sql-session!我从代码中删除了它并且它工作正常。所以我想我需要在这里为他们报告这个问题:

https://github.com/chill117/express-mysql-session/issues

我认为该模块中的 connection.end() 存在一些问题。不知道在哪里,但也许应该花点时间找到它。

关于mysql - NodeJS在Mac上运行,在centOS部署时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26666852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com