javascript - 将值从计算机插入另一台计算机时出现“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');";
这应该很简单,就像在数据库中添加新记录一样,但似乎通过网络在另一台计算机上执行此操作有点困难。
解决方案
推荐阅读
- php - 如何防止 Masonry Grid 中“获取相关内容”的重叠?
- swift - 避免三个 for-in 循环来计算值
- java - Java9 模块 - Maven:ServiceLoader.load(HelloInterface.class) 找不到接口类
- racket - Dynamically generating rackunit test-suite: tests pass and also raise exception
- typescript - 打字稿:类型映射类型不能用原始类型索引
- python - 使用 BeautifulSoup 抓取数据属性
- android - Android SafetyNet 认证 - 离线设备
- css - CSS中的断点
- javascript - 如何使用 Webpack 在 Rails 6 中使 JavaScript 函数全局可用?
- reactjs - API 搜索 term 而不是 id