c# - 将 C# 连接到 MySQL 上的远程数据库

标签 c# mysql

我正在尝试将 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/

相关文章:

c# - MySQL 在字符串前面添加空格

mysql - 我如何在 Navicat for MySQL 中查看我创建的存储过程

mysql - 无法识别使用 MAX 和 OVER PARTITION BY 的语法问题

c# - 字符串参数未正确编码到 C++ DLL

c# - 如何将Word文档的所有页面保存为图片?

c# - 如何在 lambda 表达式中返回不同的数据类型?

c# - 使用偶尔为空属性的 LINQ SequenceEqual 扩展方法

mysql - 查看帮助。从 3 个表中提取数据

mysql - 是否可以在mysql查询中手动选择顺序?

php - 标记前 3 个条目