mysql - 无法使用 PHP 连接到远程 mysql

标签 mysql database connection

我有一个在我的桌面程序更新的服务器上运行的数据库。我的程序是用 C# 编写的,我可以使用 Mysql 连接器很好地连接。

private void Initialize()
    {
        server = "xxx.com";
        database = "test01";
        uid = "user";
        password = "pass";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" +
        database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

我希望能够在我的网站上使用 PHP 脚本从我的数据库中检索一些数据,但我什至无法通过相同的连接信息获得与我的数据库一起使用的简单连接。我对 php 不是很熟悉,我希望我只是犯了一个愚蠢的错误:)

$con = mysql_connect("xxx.com","user","pass");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

这一直在死去...有人可以告诉我我在做一些愚蠢的事情并告诉我如何解决它吗?

提前致谢, 主耶稣

编辑: 我不断收到的错误是: 无法连接:在“读取初始通信数据包”时与 MySQL 服务器失去连接,系统错误:110

编辑#2: 我的“用户”已经被授予对“%”的访问权限,这应该涵盖所有 IP。当我运行 phpinfo();我得到了很多信息,包括一个名为 mysql 的部分,那里有信息。

已解决...还是未解决? 好的,我想我知道它为什么失败了。我的网站托管在 one.com,与他们的一位支持者聊天后我了解到他们不允许连接到远程数据库,只允许连接到我域中的数据库。这不是我想要的。所以我没有解决它,但我发现了为什么会出现该错误。现在我需要找到一种方法来解决这个问题......

最佳答案

在我看来你的环境如下:你的桌面有一个 C# 程序,你的 MySQL 服务器位于另一台机器上,最后还有一个独立的网络服务器,不连接到这些系统中的任何一个。如果是这种情况,您需要从 Web 服务器授予对数据库的权限。

以下将向您的网络服务器授予选择权限。

GRANT SELECT ON test01.* TO 'user'@'ip.of.the.webserver' IDENTIFIED BY 'pass';

关于mysql - 无法使用 PHP 连接到远程 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464971/

相关文章:

php - 多个 mysql 表 vs 单表设计

mysql - 按 id 更新最近更新的行

database - 基本表结构问题

php - call_user_func_array 太慢了吗?

java - 在线数据库连接不起作用

mysql - 如何通过mysql前端软件连接mysql数据库

mysql - Laravel MySql 连接问题连接数太多

ruby-on-rails - Rails 在超时后产生 "PGError: server closed the connection unexpectedly"

php - 功能有时只工作

c# - Windows 窗体程序在运行查询时突然关闭。如何在错误停止/崩溃之前捕获错误?