如何使用IP not连接到MySQL数据库;localhost";?

如何使用IP not连接到MySQL数据库;localhost";?,mysql,node.js,express,Mysql,Node.js,Express,如果我的Raspberry pi上有一个节点js服务器。 我的笔记本电脑上有一个MySQL数据库。 raspberry pi和我的笔记本电脑都连接到同一个局域网 笔记本电脑IP:192.168.1.2 树莓皮IP:192.168.1.3 第1部分,如何将数据从raspberry pi服务器发送到笔记本电脑上的MySQL数据库 起初,我认为我所要做的就是将主机字段从“localhost”更改为“192.168.1.2”,但这似乎不起作用,因为: 我在笔记本电脑上创建了一个NodeJS服务器(因为我

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

笔记本电脑IP:192.168.1.2

树莓皮IP:192.168.1.3

第1部分,如何将数据从raspberry pi服务器发送到笔记本电脑上的MySQL数据库

起初,我认为我所要做的就是将主机字段从“localhost”更改为“192.168.1.2”,但这似乎不起作用,因为:

我在笔记本电脑上创建了一个NodeJS服务器(因为我现在没有raspberry pi),并尝试连接到其上的数据库来存储数据,它工作得非常好。但是,当我试图将主机字段从“localhost”更改为“192.168.1.2”时,它无法连接,并抛出了一个错误:

ER\u主机\u没有特权:不允许主机“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,我想做同样的场景

我希望我正确地解释了这个问题。
提前感谢。

请不要使用本地主机,而是提供IP地址 使用cli

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

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


参见第1部分: 我检查了以下问题,问题就解决了


我认为使用覆盆子圆周率也会有同样的效果。

你应该改进你的问题,让它更容易理解。如果我没有错,您想知道在节点js服务器设置中在哪里更改MySQL服务器地址,对吗?这与MySQL工作台无关。@MikeLischke我编辑了这个问题,希望现在更好。谢谢你,你收到的确切错误信息是什么?可能是您没有允许从您的IP地址连接的用户(当您通过localhost连接时不使用该地址)。另请参见@MikeLischke我确实创建了一个用户并使用了GRANT ALL,仍然是相同的错误:ER_主机\u非特权:主机“Anwar PC”不允许连接到此MySQL服务器第2部分有点棘手,因为您必须将MySQL安装打开到internet。最好使用SSH隧道来保护连接。然后,您还应该能够像在LAN中那样连接(如果SSH和MySQL服务器都在同一个机器上运行,那么您甚至可以使用localhost)。@MikeLischke非常感谢您的帮助,如果您推荐任何资源来了解如何使用SSH隧道,我将不胜感激。手头没有任何资源,但是你喜欢的搜索引擎应该提供链接:-D