Heroku和NodeJs-MySql连接丢失:服务器关闭了连接
我有一个非常简单的nodeJS应用程序连接到MySql ClearDB。第一次运行它时,连接到DB并执行简单的SELECT没有问题,但几分钟后,服务器会因DB连接失败而崩溃。知道怎么回事吗 错误: 连接丢失:服务器已关闭连接 这是我的密码: web.jsHeroku和NodeJs-MySql连接丢失:服务器关闭了连接,mysql,node.js,heroku,Mysql,Node.js,Heroku,我有一个非常简单的nodeJS应用程序连接到MySql ClearDB。第一次运行它时,连接到DB并执行简单的SELECT没有问题,但几分钟后,服务器会因DB连接失败而崩溃。知道怎么回事吗 错误: 连接丢失:服务器已关闭连接 这是我的密码: web.js var express = require("express"); var mysql = require('mysql'); var app = express(); app.use(express.logger()); var
var express = require("express");
var mysql = require('mysql');
var app = express();
app.use(express.logger());
var connection = mysql.createConnection({
host : 'us-cdbr-east-04.cleardb.com',
user : 'b6#####',
password : 'b3f####',
database : 'heroku_1d########5291'
});
connection.connect();
app.get('/', function(request, response) {
connection.query('SELECT * from t_users', function(err, rows, fields) {
if (err) {
console.log('error: ', err);
throw err;
}
response.send(['Hello World!!!! HOLA MUNDO!!!!', rows]);
});
});
var port = process.env.PORT || 5000;
app.listen(port, function() {
console.log("Listening on " + port);
});
程序文件
web: node web.js
package.json
{
"name": "node-example",
"version": "0.0.1",
"dependencies": {
"express": "3.1.x"
, "mysql": ""
},
"engines": {
"node": "0.10.x",
"npm": "1.2.x"
}
}
日志
谢谢 你似乎已经知道发生了什么;MySQL服务器正在关闭连接。许多数据库服务,包括ClearDB,都可以做到这一点(即关闭非活动连接)。您必须检测断开连接事件,然后重新创建连接
节点mysql文档中有关于此操作的说明。这是因为ClearDB上的mysql服务器关闭了连接。您可以检测到断开连接事件,然后重新建立连接。 更多信息请点击此处:
constmysql=require(“mysql”);
const dbConfig=require(“../config/db.config.js”);
var connection=mysql.createPool({
主机:dbConfig.host,
用户:dbConfig.user,
密码:dbConfig.password,
数据库:dbConfig.DB
});
module.exports=连接;
Aug 25 12:31:30 polar-beach-8042 heroku/slug-compiler: Slug compilation finished
Aug 25 12:31:30 polar-beach-8042 heroku/web.1: Stopping all processes with SIGTERM
Aug 25 12:31:33 polar-beach-8042 heroku/web.1: Process exited with status 143
Aug 25 12:31:51 polar-beach-8042 app/web.1: - - - [Sun, 25 Aug 2013 19:31:51 GMT] "GET / HTTP/1.1" 200 131 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36"
Aug 25 12:31:51 polar-beach-8042 app/web.1: - - - [Sun, 25 Aug 2013 19:31:51 GMT] "GET /favicon.ico HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36"
Aug 25 12:31:51 polar-beach-8042 heroku/router: at=info method=GET path=/favicon.ico host=polar-beach-8042.herokuapp.com fwd="67.86.230.11" dyno=web.1 connect=2ms service=5ms status=404 bytes=34
Aug 25 12:31:52 polar-beach-8042 heroku/router: at=info method=GET path=/ host=polar-beach-8042.herokuapp.com fwd="67.86.230.11" dyno=web.1 connect=2ms service=7ms status=200 bytes=131
Aug 25 12:32:51 polar-beach-8042 app/web.1: Error: Connection lost: The server closed the connection.
Aug 25 12:32:51 polar-beach-8042 app/web.1: at Protocol.end (/app/node_modules/mysql/lib/protocol/Protocol.js:73:13)
Aug 25 12:32:51 polar-beach-8042 app/web.1: at Socket.onend (stream.js:79:10)
Aug 25 12:32:51 polar-beach-8042 app/web.1: at Socket.EventEmitter.emit (events.js:117:20)
Aug 25 12:32:51 polar-beach-8042 app/web.1: at _stream_readable.js:910:16
Aug 25 12:32:51 polar-beach-8042 app/web.1: at process._tickCallback (node.js:415:13)
Aug 25 12:32:52 polar-beach-8042 heroku/web.1: Process exited with status 8
Aug 25 12:32:52 polar-beach-8042 heroku/web.1: State changed from up to crashed