如何使用IP而不是#34; localhost"?连接MySQL数据库?

时间:2017-02-21 09:09:14

标签: mysql node.js express

如果我的Raspberry pi上有节点js服务器。 我的笔记本电脑上有一个MySQL数据库。 树莓派和笔记本电脑都连接到同一个局域网。

笔记本电脑IP:192.168.1.2

Raspberry pi IP:192.168.1.3

第1部分,如何将数据从raspberry pi服务器发送到笔记本电脑上的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部分,如果raspberry pi和数据库都连接到Internet而不是LAN,我想做同样的情况。

我希望我能正确解释问题。 提前谢谢。

1 个答案:

答案 0 :(得分:-1)

而不是localhost给IP 使用cli

壳> mysql --host=192.168.1.2 --user=myname --password=mypass mydb

壳> mysql -h 192.168.1.2 -u myname -pmypass mydb

参考here