我在服务器上使用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可以使用相同的凭据连接到该数据库。

我使用此代码连接到数据库

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;

最佳答案

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

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

让我知道它是否无效。

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

10-04 22:09
查看更多