我正在尝试将 MySQL 数据库与 C# 应用程序连接,MySQL 数据库安装在 LAN 中的服务器上,可以访问 Internet。 所以,我需要使用 C# 连接该数据库。我找到的大多数答案都解释说在连接字符串中使用服务器的 IP,但在这种情况下,服务器的 IP 是私有(private) IP,公共(public) IP 是调制解调器或接入点的 IP ,服务器获得互联网访问权限的地方。 基本上,拓扑是: 应用程序的计算机 - 接入点 - 互联网 - 接入点 - 具有私有(private) IP 的服务器。 任何帮助或意见将不胜感激。
最佳答案
如果你和数据库服务器在同一个 LAN 上,那么你应该直接连接到私有(private) LAN ip。如果它通过接入点或您的主要防火墙,那么您需要在 AP 和专用服务器之间设置适当的端口转发,以便它适本地转发端口请求。如果这些转发没有到位,您将无法从 WAN 端连接到它,因为 AP 需要知道将这些请求转发到哪里。
例子
3306端口请求->公共(public)AP->转发规则(3306到局域网IP 192.168.1.105)->请求转发到192.168.1.105
如果没有规则,AP 只会丢弃请求,因为它不想与它有任何关系
关于c# - 将 C# 连接到 MySQL 上的远程数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35561498/