CNode

遇到一个mysql连接问题,太奇怪了。

PPhoenixFeng发布于12 年前最后回复8 年前9 回复22149 浏览0 收藏

系统centos,确认root有密码,host为%,命令行中mysql -u root -p可以正常登录,局域网机器可以。

var mysql = require('mysql');

var conn = mysql.createConnection({
  host : 'localhost',
  user : 'root',
  password : 'xxxxx'
(隐去)
});

conn.connect(function (err) {

    if (err) console.log('connection error:', err);

});

运行上述代码就报错,把localhost换成.或者ip,都是相同的错误,求解释~

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

查看回复

回复 (9)

W
wwmin#1·8 年前

目前我用到的是mysql 2.15.0版本,也是有这个问题,希望有人能帮忙解决.

P
PhoenixFeng#2·12 年前

已解决,是版本问题,node-mysql2.1.0降级为2.0.1就好了,看来要指定版本安装了。

X
xiuxu123#3·12 年前

建议不要用root连数据库,可以新建用户连数据库。

Y
youxiachai#4·12 年前

奇怪了..我这里倒是很正常..

P
PhoenixFeng#5·12 年前
P
PhoenixFeng#6·12 年前
引用 youxiachai奇怪了..我这里倒是很正常..

的确很奇怪,我用command line毫无问题,确定是库的原因,我也不知道啥情况~

Y
youxiachai#7·12 年前
引用 youxiachai奇怪了..我这里倒是很正常..

@PhoenixFeng

忽然发现,最新的 mysql 2.1.1 的changelog 那里有个 fix 了一个auth 问题..不知道是不是你这种情况呢?

M
mytharcher#8·10 年前

升级 mysql 包的确解决了问题。

F
flamingtop#9·10 年前
参与回复
登录后即可参与回复。登录