0

我有一个连接到外部 MYSQL 数据库的 C# 应用程序,一切正常,但它所使用的公司阻止了 MYSQL 连接,我不能允许它。我对 C# 和 MYSQL 比较陌生,并且研究过 HTTP 和 SSH 隧道,但我不知道如何将它实现到 C# 程序中。

我需要一种方法来获取数据并将数据发送到防火墙周围的 MYSQL 数据库。有人可以向我解释我最好的选择是什么以及如何使用它。

4

1 回答 1

0

Microsoft Windows 包括一个专门阻止端口的防火墙。如果您计划通过网络端口使用 MySQL,那么您应该在执行安装之前打开并为此端口创建一个例外。要检查并在必要时向防火墙设置添加例外:

首先确保您以管理员或具有管理员权限的用户身份登录。

  1. 转到控制面板,然后双击 Windows 防火墙图标。
  2. 选择允许程序通过 Windows 防火墙选项,然后单击添加端口按钮。
  3. 在名称文本框中输入 MySQL,在端口号文本框中输入3306(或您选择的端口)。
  4. 还要确保选中 TCP 协议单选按钮。
  5. 如果您愿意,您还可以通过选择更改范围按钮来限制对 MySQL 服务器的访问。
  6. 单击“确定”按钮确认您的选择。

此外,在 Windows 7 或更高版本上运行 MySQL 安装向导时,请确保您以具有管理权限的用户身份登录。

使用 Windows Vista 或更新版本时,您可能希望在执行安装之前禁用用户帐户控制 (UAC)。如果您不这样做,那么 MySQL 可能会被识别为存在安全风险,这意味着您需要启用 MySQL。您可以按照以下说明禁用安全检查:

尝试打开控制面板。

  1. 在用户帐户和家庭安全下,选择添加或删除用户帐户。
  2. 单击转到主用户帐户页面链接。
  3. 单击打开或关闭用户帐户控制。系统可能会提示您提供更改此设置的权限。单击继续。
  4. 取消选中或取消选中使用用户帐户控制 (UAC) 旁边的复选框以帮助保护您的计算机。单击确定以保存设置。

您将需要重新启动才能完成该过程。单击立即重新启动以重新启动计算机并应用更改。然后,您可以按照以下说明安装 Windows。

使用 SSH 从 Windows 远程连接到 MySQL

本节介绍如何使用 SSH 获得与远程 MySQL 服务器的安全连接。该信息由大卫卡尔森提供。

  1. 在您的 Windows 机器上安装 SSH 客户端。作为用户,我发现的最好的非自由软件来自http://www.vandyke.com/的 SecureCRT 。另一种选择是来自http://www.f-secure.com/的 f-secure 。您还可以在 Google 上的 http://directory.google.com/Top/Computers/Internet/Protocols/SSH/Clients/Windows/上找到一些免费的。
  2. 启动您的 Windows SSH 客户端。设置 Host_Name = yourmysqlserver_URL_or_IP。设置 userid=your_userid 以登录到您的服务器。此用户 ID 值可能与您的 MySQL 帐户的用户名不同。
  3. 设置端口转发。执行远程转发(设置 local_port:3306,remote_host:yourmysqlservername_or_ip,remote_port:3306)或本地转发(设置端口:3306,主机:localhost,远程端口:3306)。
  4. 保存所有内容,否则下次您将不得不重做。
  5. 使用刚刚创建的 SSH 会话登录到您的服务器。
  6. 在您的 Windows 机器上,启动一些 ODBC 应用程序(例如 Access)。
  7. 在 Windows 中创建一个新文件并使用 ODBC 驱动程序链接到 MySQL,除了键入 MySQL 主机服务器的 localhost,而不是 yourmysqlservername。

此时,您应该有一个到 MySQL 的 ODBC 连接,使用 SSH 加密。

参考:

于 2013-08-22T06:43:02.170 回答