【发布时间】:2014-01-12 06:57:13
【问题描述】:
提前感谢您的帮助!
我正在制作一个 node/express 应用程序,我想使用一个 mysql 数据库。但我似乎无法连接到数据库。
我知道我应该使用 node-mysql 模块 (https://github.com/felixge/node-mysql),但我一定做错了。
我对此完全陌生。我必须创建一个数据库然后创建一个表吗?有没有办法在其他地方创建一个数据库,这样每次我重新启动应用程序时它都不会被删除?
这是我的代码。有人可以回答上面的问题并在下面告诉我我做错了什么吗?谢谢!
var express = require('express'),
routes = require('./routes'),
user = require('./routes/user'),
http = require('http'),
io = require('socket.io'),
path = require('path');
var app = express();
var server = http.createServer(app);
sio = io.listen(server);
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(require('stylus').middleware(__dirname + '/public'));
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
server.listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
var mysql = require('mysql');
var connection = mysql.createConnection({
user : 'me',
password : 'secret',
host : 'localhost',
port : app.get('port')
});
connection.connect();
connection.query('CREATE TABLE tesTable (integer int, textfield VARCHAR(100), PRIMARY KEY(integer))',
function(err, result){
if(err) {
console.log(err);
} else {
console.log("Table testTable Created");
}
});
顺便说一下,在package.json中,我列出了
"mysql": "2.0.0-rc2"
作为依赖并做了
'npm install'
【问题讨论】:
-
你的 sql server 监听的端口是什么?很可能不是您的驱动程序试图达到的 3000。
标签: mysql node.js node-mysql