mysql - nodejs连接到本地机器而不是MYSQL服务器

标签 mysql node.js

我无法使用nodejs连接到mysql

var DatabaseConnection = function (databaseParam) {

//var driver = databaseParam.database_driver;

this.connection = mysql.createConnection({
    host: "192.168.11.178",
    database: "ecommerce",
    user: "ecommerce",
    password: "adhgfhjgfh"
});
this.connection.connect(function (err) {
    if(err){
        throw err;
    }
    console.log('you are now connected to '+hostname);
});

ER_ACCESS_DENIED_ERROR: Access denied for user 'ecommerce'@'192.168.11.16' (using password: YES)

但是,当我尝试连接到 192.168.11.178 时,192.168.11.16 是我的本地计算机 IP 地址。我可以使用 PHP 轻松连接,但不能使用 Nodejs。

我还尝试使用 mysql -u ecommerce -p -h 192.168.11.178 成功了。另外,在特权下我有通配符(%)

我使用mysql:2.12.0

最佳答案

PHP 是一种服务器端技术,因此在服务器上运行。显然,您已经将 mysql 实例绑定(bind)到 192.168.11.178 ,这已由成功的终端连接证明。也许您也在数据库服务器本身上运行了这个?如果是这种情况,您可能需要更新用户权限以允许 ecommerce'@'192.168.11.16,使用您的示例:

grant select on ecommerce.* to 'ecommerce'@'192.168.11.16' identified by 'adhgfhjgfh';

修改以允许您想要的权限。

关于mysql - nodejs连接到本地机器而不是MYSQL服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41282807/

相关文章:

javascript - 当我的代码运行时出现 'Rich Embed fields may not be empty' 错误

MySQL NOT IN 查询仅包含我想要排除的结果

mysql - 从表中删除多行 (SQL)

mysql - 不同的代码 : Delimiter//and Delimiter $$

node.js - SSL 错误 : CERT_UNTRUSTED on dotCloud

javascript - 如何用 grunt 开始 jasmine 测试?

node.js - Jasmine 不加载帮助文件

MySQL 仅在 null 时才将 double 转换为 varchar

php - 防止寄存器上的数据库泛滥

javascript - 防止输入负数 Mongoose Schema