1

我正在尝试获取一个使用 mysql 工作的 node.js 应用程序。我运行 sudo node app.js 并收到此错误:

Express server listening on port 80 in development mode

events.js:48
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: Access denied for user 'root'@'localhost' (using password: YES)
    at cmd.process_packet (/Users/.../Documents/Code/.../node_modules/mysql-native/lib/mysql-native/command.js:35:15)
    at SocketClient.dispatch_packet (/Users/.../Documents/Code/.../node_modules/mysql-native/lib/mysql-native/socketclient.js:105:32)
    at Socket.<anonymous> (/Users/.../Documents/Code/.../node_modules/mysql-native/lib/mysql-native/socketclient.js:59:18)
    at Socket.emit (events.js:67:17)
    at TCP.onread (net.js:362:31)

我为mysql设置了一个安全的用户名和密码,但除了sudo之外,它并没有要求我输入密码。我是 node.js 尤其是 mysql 的初学者,因此将不胜感激。

4

1 回答 1

1

所以我联系了以前做过这件事的人,他帮助我完成了这件事。基本上我用 mysql -u root -p 连接到 mysql,输入我的密码,创建数据库并使用该数据库并输入所有数据库信息。然后在 db.auth 下的 api.js 中,我将数据库名称、我的用户名和密码放在括号中,每一个都是用逗号分隔的字符串。然后我在一个单独的终端选项卡中运行了 node.js 应用程序,它工作了。

于 2012-05-07T20:42:42.470 回答