1

我正在开发一个 C# 应用程序,该应用程序将使用位于我的网站中的远程 MySQL 数据库,该数据库托管在支持 PHP 和 MySQL 的 Linux 服务器上。

我尝试直接连接到 MySQL 数据库,但由于主机端的限制而无法连接。

有人可以帮我吗,我可以用这个限制来做吗?

4

3 回答 3

0

你不能。服务器需要允许远程连接,如果这是不可能的,那么你就不走运了。

但是,可能还有另一种方式......如果您可以在可以连接的服务器上创建一个 Web 服务,那么您应该能够从任何地方虚拟地与 mysql 中的数据进行通信。

于 2013-02-13T12:28:10.337 回答
0

您需要访问远程计算机上的端口 3306。您可以使用 telnet 或类似方法测试您是否可以访问此端口

telnet ip 3306

这些是您拥有的解决方案:

A)创建本地开发环境:您没有提供太多信息。如果我的猜测是正确的,您正在本地开发,稍后您计划将您的 c# 应用程序部署到 Web 服务器,该服务器也将包含 mysql db。

  • 在本地机器上安装 mysql
  • 获取数据库的副本。
  • 配置您的 C# 程序以连接到本地 mysql (localhost:3306)
  • 当您将代码部署到您的 Web 服务器时,它还将连接到您的“localhost 3306”,这将是安装到 Web 服务器中的 mysql。

B)使用VPN访问mysql:如果A不适用,另一种解决方案是在包含mySQL的Web服务器和运行您的应用程序的PC之间安装某种VPN。设置好 VPN 并且您可以访问端口 3306(如前所述通过 telnet),您的应用程序就可以运行了。

C)打开端口访问 mysql:最简单的解决方案是要求管理员为您打开端口。99% 的时候答案是否定的,所以我不会走这条路。(也许您的网络提供商中有某种解决方案允许为给定 IP 打开特定端口,但我对此表示怀疑)

于 2013-02-13T12:29:17.290 回答
0

您可以尝试创建一种 API 方式,如果您的服务器阻止来自 Web 的传入连接,只需重载您需要与 PHP 一起使用的 MySQL 函数并将“echo”结果作为服务器,使用您的 c# 应用程序将它们解析为客户端,它是组织这样一个系统的唯一方法,或者,您可以允许传入到 MySQL 的连接,然后在CodeProject上观看这篇文章

于 2013-02-13T14:20:50.843 回答