在尝试连接到我的本地主机数据库时遇到了很多麻烦。我试过使用 mysql和 mysql-simple Node 模块,但在这两种情况下我都无法连接它。
这是我在“mysql”模块中使用的内容:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : '8000',
user : 'uber',
password : 'pass',
});
connection.connect(function(err) {
if (err) throw err;
console.log('Connection Successful');
});
connection.query('USE someDB', function(err) {
if (err) throw err;
console.log('Query Successful');
});
这里是我在“mysql-simple”模块中使用的内容:
var database = require('mysql-simple');
database.init('uber', 'pass', 'mysql', 'localhost', 8000);
database.querySingle('SELECT Host FROM user', function(err, results) {
if (err) {
console.log('error fetching some active users: ' + err);
return;
}
log('Query Successful');
for (var i = 0; i < results.length; i++)
console.log('got active user ' + results[i]);
}
在这两种情况下,当我运行我的 node.js 服务器时,它从不记录它的连接。我尝试用“127.0.01”替换 localhost 并创建一个新用户以确保密码正确,但无济于事。为什么没有连接?
谢谢
最佳答案
很可能网络关闭了,这意味着 mysql 服务器通过 UNIX 套接字而不是通过 TCP/IP 与客户端通信。您可以检查正在运行的 mysql 客户端并运行“status”命令。如果你在那里看到端口号,那么你的 mysql 服务器通过 TCP/IP 进行通信,否则你会看到类似“socket pathname ...”的东西,获取路径名并将其提供给 node.js 连接参数,例如
... socketPath: '/opt/lampp/var/...', ...
在 https://github.com/felixge/node-mysql 中查看页面(搜索“socketPathname”)
希望,那是你的问题。
关于mysql - 无法从 node.js 服务器连接到本地主机数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17493224/