node.js无法连接到mysql DB

时间:2014-09-30 14:22:16

标签: mysql node.js express centos

我在服务器上使用CentOS而node.js抛出错误

CONNECTION error:  { [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)]
  code: 'ER_ACCESS_DENIED_ERROR',
  errno: 1045,
  sqlState: '28000',
  fatal: true }

我在Ubuntu上的本地版本不会抛出此错误,并且php可以使用相同的凭据连接到此数据库。

我使用此代码连接到DB

var connect_params = require('./connect');
var express = require('express'),
    app = express(),
    mysql = require('mysql'),
    connectionpool = mysql.createPool(connect_params.connection);

和我的connect.js

var connection = {
  host: 'localhost',
  user: 'user',
  password: 'password',
  database: 'mydb'
};
exports.connection = connection;  

1 个答案:

答案 0 :(得分:0)

在我的情况下指定portnumber可以正常工作,就像我以前使用hostname:portname(来自JDBC API)来连接我的本地数据库一样。

因此,通过将portnumber指定为其自己的变量,而不是将其附加到hostname上,便可以连接到它。

让我知道它是否无效。

var connection = mysql.createConnection({
host     : "hostname",
port     : "portnumber",
user     : "username",
password : "password",
database : "dbname"
});