首页 > 解决方案 > 将值从计算机插入另一台计算机时出现“ER_HOST_NOT_PRIVILEGED”

问题描述

我正在使用 nodejs 将新数据从我的计算机插入到同一网络中的另一台计算机的数据库中。但是我遇到了以下详细信息的问题:

"code": "ER_HOST_NOT_PRIVILEGED",
"errno": 1130,
"sqlMessage": "Host 'xxxx-laptop.example.com' is not allowed to connect to this MySQL server",
"fatal": true

我已经完成了权限配置(我不确定我是否做得正确)。这是我的配置:

CREATE USER 'sampleUsername'@'3000' IDENTIFIED BY 'samplePassword';

GRANT ALL PRIVILEGES ON *.* TO 'sampleUsername'@'3000' WITH GRANT OPTION;

CREATE USER 'sampleUsername'@'%' IDENTIFIED BY 'samplePassword';

GRANT ALL PRIVILEGES ON *.* TO 'sampleUsername'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

注意:我在 SQL 脚本文件中的一个实例/连接(mysql 的主页)中进行了上述配置,并在突出显示所有内容时使用 'ctrl' + 'enter' 运行它。

这是我的 node.js 代码:

var net = mysql.createPool({
      connectionLimit     : 50,
      host                : '192.168.1.20',
      user                : 'sampleUsername',
      password            : 'samplePassword',
      database            : 'test',
      dateStrings         : 'date',
      debug               : false,
      multipleStatements  : true
    });

net.query(sqlQry, function(error, resp){
  return callback(null, resp);
});

其中“sqlQry”如下:

var sqlQry = "INSERT INTO `tableSample` (FNAME, STATUS) VALUES ( 'JOHN', '1');";

这应该很简单,就像在数据库中添加新记录一样,但似乎通过网络在另一台计算机上执行此操作有点困难。

标签: javascriptnode.jsmysql-workbench

解决方案


推荐阅读