2013-08-22 31 views
0

我有一个C#应用程序连接到外部MYSQL数据库,所有工作正常,但它使用的公司已阻止MYSQL连接,我不能让它允许。我对C#和MYSQL相当陌生,并且已经研究过HTTP和SSH隧道,但是我不知道如何将它实现到C#程序中。C#MYSQL - “隧道”过去的防火墙

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

+0

,我们谈论这里什么操作系统? Linux还是Windows? –

+0

Windows 7 .. –

回答

0

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

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

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

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

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

尝试打开控制面板。

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

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

从Windows连接到MySQL与远程SSH

本节介绍如何去用SSH远程MySQL服务器的安全连接。这些信息由David Carlson提供。

  1. 在Windows机器上安装SSH客户端。作为用户,我发现的最好的 是SecureCRT从 http://www.vandyke.com/。另一种选择是从 http://www.f-secure.com/ f-安全。您也可以在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)或 本地转发(Set port:3306,host:localhost,remote port: 3306)。
  4. 保存所有内容,否则您将不得不在下次重做。
  5. 使用刚刚创建的SSH会话登录到您的服务器。
  6. 在Windows机器上,启动一些ODBC应用程序(如 Access)。
  7. 在Windows中创建一个新文件并使用ODBC驱动程序 链接到MySQL,正常情况下,除了在localhost上输入MySQL 主机服务器而不是yourmysqlservername。

在这一点上,您应该有一个ODBC连接到MySQL,使用SSH进行加密。

参考文献: