C# 来自Outsitde LAN的MySql Raspberry Pi连接

C# 来自Outsitde LAN的MySql Raspberry Pi连接,c#,mysql,linux,raspberry-pi,C#,Mysql,Linux,Raspberry Pi,今天我在Raspberry Pi 2上建立了一个MySql数据库。 我用表等创建了一个数据库。 当我用196.168通过局域网连接到MySql pi服务器时。。。它起作用了。 (我正在使用MySql Workbench 6.3 CE) 但我想在我的C#应用程序中使用MySql服务器,因此无论应用程序位于何处,它都必须能够连接到数据库,因此我认为我需要通过“Plublic”IP进行连接。但是从逻辑上讲,Raspberry Pi的公共IP与我的(pc)相同,因为我们在同一个子网中 所以对我来说,“连

今天我在Raspberry Pi 2上建立了一个MySql数据库。 我用表等创建了一个数据库。 当我用196.168通过局域网连接到MySql pi服务器时。。。它起作用了。 (我正在使用MySql Workbench 6.3 CE) 但我想在我的C#应用程序中使用MySql服务器,因此无论应用程序位于何处,它都必须能够连接到数据库,因此我认为我需要通过“Plublic”IP进行连接。但是从逻辑上讲,Raspberry Pi的公共IP与我的(pc)相同,因为我们在同一个子网中

所以对我来说,“连接器”不知道连接到哪里(在哪个主机上)是合乎逻辑的,那么无论我在哪里,我都要使用什么“IP”来连接MySql Pi服务器呢


这可能是一个愚蠢的问题,但它代替了我,我没有找到答案。

您需要转发路由器上的端口,以允许传入的流量。如果你可以像访问公共服务器一样访问任何网络中的任何计算机,那么互联网将是一个更加危险的地方。因此,当您在本地连接时,所有这些都发生在路由器后面,从一个可信源到另一个可信源,但要从其他任何地方连接,您需要告诉路由器允许特定端口上的传入流量通过特定设备

我无法帮助您完全解决您的问题,因为我不知道您的确切设置,但如果您想了解有关该解决方案的更多信息,可以从阅读有关端口转发的一般信息开始:

另一种选择是使用隧道解决方案。这将是一个解决方案,它可以建立从本地网络内部到网络外部前端服务的连接,并允许流量通过面向公众的地址进入pi。我自己也使用这种服务,它叫。我不属于他们,但我在许多不同防火墙后面的pi上广泛使用它。基本上,您可以在pi上安装他们的程序,并允许外部通信从公共地址(如
address.pagekite.me
)中继到数据库服务器的端口


我知道这不是一个完整的答案,但希望它能为您指明正确的方向。

要从外部访问任何内部服务器,请尝试查看网络地址转换。