需要帮助使用node.js访问mysql数据库

ano*_*123 5 javascript mysql node.js

我想运行一个简单的节点样本访问mysql数据库,并正在以下错误,错误:ER_ACCESS_DENIED_ERROR:拒绝访问用户root'@'ubuntu.local'(使用密码:YES)

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : '192.168.0.12',
  user     : 'root',
  password : 'password',
  database : 'app'
});

connection.connect();

connection.query('SELECT * from users', function(err, rows, fields) {
  if (err) throw err;

  console.log('The solution is: ', rows[0]);
});

connection.end();
Run Code Online (Sandbox Code Playgroud)

以上是使用node.js访问mysql的代码.有关我可能做错的建议,提前感谢.

小智 9

我有一个类似的问题,我得到了同样的错误.

我的答案最终是因为我使用的是另一个端口.默认情况下,mysql需要一个3306的端口,但我使用的是MAMP,其中MySQL服务器端口被指定为8889.一旦我将数据库连接添加到端口定义,就可以了:

var connection = mysql.createConnection({
    port: 8889,
    user: 'root',
    password : 'password',
    database : 'my_database'
});
Run Code Online (Sandbox Code Playgroud)

注意:这适用于使用MAMP的Mac,没有在ubuntu或Windows上尝试过.