【发布时间】:2017-02-21 09:09:13
【问题描述】:
如果我的 Raspberry pi 上有节点 js 服务器。 还有我笔记本电脑上的 MySQL 数据库。 树莓派和我的笔记本电脑都连接到同一个局域网。
笔记本电脑 IP:192.168.1.2
树莓派 IP:192.168.1.3
第 1 部分,如何将数据从树莓派服务器发送到笔记本电脑上的 MySQL 数据库?
一开始我以为我要做的就是将主机字段从“localhost”更改为“192.168.1.2”,但这似乎不起作用,因为:
我在我的笔记本电脑上创建了一个节点 js 服务器(因为我现在没有树莓派)并尝试连接到它上面的数据库来存储数据,它运行良好。但是当我尝试将主机字段从“localhost”更改为“192.168.1.2”,这是局域网上的笔记本电脑地址时,它无法连接并抛出错误:
ER_HOST_NOT_PRIVILEGED:不允许主机“Anwar-PC”连接到此 MySQL 服务器
代码:
var connection = mysql.createConnection({
host: 'localhost',
user: 'user1',
password: 'password1',
database: 'database1'
});
我通过执行以下操作创建了一个用户:
drop user user1@localhost;
flush privileges;
create user user1@localhost identified by 'password1';
GRANT USAGE ON *.* to user1@localhost;
GRANT ALL ON database1.* TO user1@localhost;
第 2 部分,如果树莓派和数据库都连接到 Internet 而不是 LAN,我想做同样的场景。
我希望我正确地解释了这个问题。 提前致谢。
【问题讨论】:
-
您应该改进您的问题,使其更易于理解。如果我没记错的话,您想知道在 Node js 服务器设置中更改 MySQL 服务器地址的位置,对吗?这与 MySQL Workbench 无关。
-
@MikeLischke 我编辑了这个问题,希望现在更好。谢谢
-
您收到的确切错误信息是什么?可能是您没有允许从您的 IP 地址连接的用户(当您通过 localhost 连接时不使用该地址)。另见dev.mysql.com/doc/refman/5.7/en/create-user.html
-
@MikeLischke 我确实创建了一个用户并使用了 GRANT ALL,但仍然是同样的错误:ER_HOST_NOT_PRIVILEGED: Host 'Anwar-PC' is not allowed to connect to this MySQL server