0
伙计。我正在学习如何使用Express连接到远程MySQL。所以,我开始在我的本地机器(本地MySQL服务器)上做这件事。当我在本地环境上成功执行后,我尝试将连接更改为远程MySQL托管(位于DB4Free处)。是的,我已经在本地主机上成功执行了。但是,每当我运行Get/Post到远程MySQL服务器时,我的控制台会显示下面的错误。我会在这里附上相关的代码段。整个下午我一直在尝试。 希望有人在这里可以启发这个问题。谢谢你在前进的家伙:)连接MySQL的Nodejs(Express) - 本地和远程连接不同?
这是在我的控制台中显示的错误
我的连接数据库文件是如下 - 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);
});
};
部分我的文件的路径和查询的是这个
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.
});
});
});
你测试了如果你可以从命令行访问mysql(远程的)吗? –
不,但我已经使用php代码进行了测试。它使用同一组连接字符串正常工作 – DriLLFreAK100