Dri*_*100 3 mysql node.js express
家伙.我正在学习如何使用Express连接到远程MySQL.所以,我开始在我的本地机器(本地MySQL服务器)上执行此操作.在我成功完成本地环境后,我尝试将连接更改为远程MySQL主机(在DB4Free上).是的,我在localhost上取得了成功.但是,每当我运行Get/Post到远程MySQL服务器时,我的控制台都会向我显示以下错误.我将在下面附上相关的代码段.我整个下午一直在尝试.希望有人在这里可以启发这件事.提前谢谢你们:)
这是我的控制台中显示的错误
我连接db的文件如下 - ConnectionString.js
var mysql = require("mysql");
var pool = mysql.createPool({
connectionLimit : 100,
host : '85.10.205.173:3306',
user : '******* ',
password : '*******',
database : '*******',
});
exports.getConnection = function(callback) {
pool.getConnection(function(err, conn) {
if(err) {
return callback(err);
}
callback(err, conn);
});
};
Run Code Online (Sandbox Code Playgroud)
我的文件路由和查询的部分是这个
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var conn = require('../database/ConnectionString');
var result;
//Validate user login
router.get('/login', function(req, res, next) {
conn.getConnection(
function (err, client) {
client.query('SELECT * FROM mt_User', function(err, rows) {
// And done with the connection.
if(err){
console.log('Query Error');
}
res.json(rows);
client.release();
// Don't use the connection here, it has been returned to the pool.
});
});
});
Run Code Online (Sandbox Code Playgroud)
Dri*_*100 10
好吧,我发现了这个问题.似乎npm中的mysql包需要单独定义主机和端口.将它调整到下面的代码后,我的ConnectionString.js文件.它终于奏效了.
var mysql = require("mysql");
var pool = mysql.createPool({
connectionLimit : 100,
host : '85.10.205.173',
port : 3306,
user : '*******',
password : '*******',
database : '*******',
});
exports.getConnection = function(callback) {
pool.getConnection(function(err, conn) {
if(err) {
return callback(err);
}
callback(err, conn);
});
};
Run Code Online (Sandbox Code Playgroud)