C#MYSQL - “隧道”过防火墙

时间:2013-08-22 05:30:05

标签: c# mysql

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

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

1 个答案:

答案 0 :(得分:0)

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

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

  1. 转到“控制面板”,然后双击“Windows防火墙”图标。
  2. 选择“允许程序通过Windows防火墙”选项,然后单击“确定” 添加端口按钮。
  3. 在名称文本框和 3306 (或您的端口)中输入MySQL 选择)进入端口号文本框。
  4. 还要确保选择了TCP协议单选按钮。
  5. 如果您愿意,您还可以通过限制访问MySQL服务器 选择更改范围按钮。
  6. 单击“确定”按钮确认您的选择。
  7. 此外,在Windows 7或更高版本上运行MySQL安装向导时,请确保以具有管理权限的用户身份登录。

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

    尝试打开控制面板。

    1. 在“用户帐户和家庭安全”下,选择“添加或删除用户” 帐户。
    2. 单击“获取到主用户帐户”页面链接。
    3. 点击“开启或关闭用户帐户控制”。系统可能会提示您 提供更改此设置的权限。点击继续。
    4. 取消选中或取消选中“使用用户帐户控制”旁边的复选框 (UAC)帮助保护您的计算机。单击“确定”保存设置。
    5. 您需要重新启动才能完成此过程。单击立即重新启动以重新启动计算机并应用更改。然后,您可以按照以下说明安装Windows。

      使用SSH从Windows远程连接到MySQL

      本节介绍如何使用SSH与远程MySQL服务器建立安全连接。该信息由David Carlson提供。

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

        参考文献: