【问题标题】:Connect C# with remote database on MySQL将 C# 与 MySQL 上的远程数据库连接
【发布时间】:2016-02-23 02:58:17
【问题描述】:

我正在尝试将 MySQL 数据库与 C# 应用程序连接,MySQL 数据库安装在 LAN 中的服务器上,可以访问互联网。 因此,我需要使用 C# 连接该数据库。我找到的大部分答案,解释在连接字符串中使用服务器的IP,但是服务器的IP,在这种情况下,是私有IP,公共IP是调制解调器或接入点的IP ,其中服务器获得 Internet 访问权限。 基本上,拓扑是: 应用程序的计算机 - 接入点 - 互联网 - 接入点 - 具有私有 IP 的服务器。 任何帮助或评论将不胜感激。

【问题讨论】:

    标签: c# mysql


    【解决方案1】:

    如果您与数据库服务器在同一个 LAN 上,那么您应该直接连接到专用 LAN ip。如果它通过接入点或您的主防火墙,那么您需要在 AP 和私有服务器之间设置适当的端口转发,以便它正确转发端口请求。如果没有这些转发,您将无法从 WAN 端连接到它,因为 AP 需要知道将这些请求转发到哪里。

    例子

    请求端口 3306 -> 公共 AP -> 转发规则(3306 到 LAN IP 192.168.1.105) -> 请求转发到 192.168.1.105

    如果没有规则,AP 将放弃请求,因为它不想与它有任何关系

    【讨论】:

    • 据我了解,我的字符串连接将是:“SERVER=(AP 的 IP);Port=3306;DATABASE=mydb;UID=user; pwd=pass;”但是在服务器所在的AP中,我必须将端口“3306”设置为MySQL服务并将请求重定向到服务器,这是coorect吗?
    • 是的,您需要在 AP 上设置正确的端口转发,以便它在看到该端口上的请求时知道将请求发送到哪里。服务器和客户端在同一个局域网吗?
    • 服务器和客户端在不同的局域网中。
    • 啊,好吧,那么是的,规则适用。在 MySQL 服务器一侧处理您的 WAN 请求的 AP 需要配置为将这些请求正确转发到其 LAN 上的服务器
    • 我已经在AP中配置了端口,但是当我尝试连接MySQL数据库时,出现错误“无法连接到任何指定的MySQL主机”。
    猜你喜欢
    • 2011-11-24
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    相关资源
    最近更新 更多