mysql - 无法从 node.js 服务器连接到本地主机数据库

标签 mysql node.js node-mysql

在尝试连接到我的本地主机数据库时遇到了很多麻烦。我试过使用 mysqlmysql-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/

相关文章:

mysql - 有什么方法可以简单地从node.js 执行长MySQL 查询吗?

c# 无法连接到任何指定的 MySQL 主机

Python:在没有 MySQLdb 模块的情况下访问 MySQL 数据库

mysql - 为一个给定字段的每个值获取多个随机值

php - 在 PHP 中处理具有数十个(大约 50 个)属性的客户类的推荐方法是什么?

node.js - 使用sequelize调用存储过程

mysql - node.js-MySQL COUNT 记录数

node.js - 更改后重新处理请求

node.js - Promise.all().then 不起作用

javascript - node-mysql 似乎无法连接