mysql - node-mysql 无法使用密码连接

标签 mysql node.js node-mysql

我正在尝试使用node-mysql连接到本地MySQL服务器,但收效甚微。

每次我尝试连接时,都会收到 ER_ACCESS_DENIED_ERROR。我已经验证我可以使用命令行和下面的凭据连接到 MySQL 服务器,该服务器正在运行,并且端口是正确的。

我的代码如下:

var mysql = require('mysql');

var dbConnection = mysql.createConnection( {
        user: 'node_user',
        password: 'password',
        database: 'sample_db',
        host: 'localhost',
        port: 3306
        } );

dbConnection.connect(function(err) {
        if(err) {
                console.log('Can\'t connect');
                console.dir(err);
        } else {
                console.log('Connection success.');
                dbConnection.end();
        }
});

我确信我正在做一些非常明显错误的事情,但我早上大部分时间都在盯着它看,但我看不出哪里出了问题。

我得到的唯一线索是,如果我将用户密码设置为空(在数据库和代码中),那么它会非常顺利地连接。

如有任何建议,我们将不胜感激。

最佳答案

取出数据库:sample_db是否有效?连接后,您可以执行dbConnection.query('use sample_db');。我想知道它是否不起作用,因为这些是或不是 root 权限,并且在特定数据库上该用户不存在。

您不需要包含端口,因为它默认为 3306。

关于mysql - node-mysql 无法使用密码连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199924/

相关文章:

mysql - 使用纬度、经度计算其他城市与用户选择的城市之间的距离

php - 非动态数据的翻译

javascript - 从现有代理实例中检索原始目标对象

javascript - node-mysql 计时

php - 从 mysql DB 选择后如何向对象添加新属性

php - 如果 PHP 不存在,则插入一条 SQL 记录

node.js - NODE_MODULE_VERSION 46.这个版本的Node.js需要NODE_MODULE_VERSION 64.请尝试重新编译或重新安装

node.js - 将 Heroku 应用程序连接到 Atlas MongoDB 云服务

javascript - 我应该什么时候开始和结束我的node.js SQL 连接?我应该从一开始就使用池化吗?

mysql - 如何在 Mysql 中存储大于 24 小时的时间?