【问题标题】:Unable to establish MySQL database connection in local PHP testing environment本地PHP测试环境无法建立MySQL数据库连接
【发布时间】:2011-12-19 18:45:01
【问题描述】:

当我在本地开发环境中运行以下页面时,TCP 连接出现超时错误。我最近从另一个开发人员那里继承了这个网站。我已提取服务器上的所有文件并将它们放入运行 Lion 的 MacBook Pro 上的 /Users/mycomputer/Sites/testsite.com 文件夹中。

我正在运行的代码(显然我已经清理了这里发布的代码):

<?php
mysql_connect("mysqldb", "usernamehere", "passwordhere") or die(mysql_error());
echo "Connected to MySQL<br />";
mysql_select_db("test") or die(mysql_error());
echo "Connected to Database";
?>

还有错误:

Warning: mysql_connect() [function.mysql-connect]: [2002] Operation timed out (trying to connect via tcp://mysqldb:3306) in /Users/mycomputer/Sites/testsite.com/dbtest.php on line 2
Warning: mysql_connect() [function.mysql-connect]: Operation timed out in /Users/mycomputer/Sites/testsite.com/dbtest.php on line 2
Operation timed out

关于我哪里出错了有什么想法吗?我在 PHP 世界中很不熟练,所以请原谅我的无知。如果这是 ColdFusion,我会怀疑是数据源问题。

【问题讨论】:

  • 您的机器上是否正在运行 MySQL 数据库服务器?
  • “mysqldb”是经过净化的值吗?如果你在本地做所有事情,那可能应该是“localhost”。
  • "mysqldb" 是经过清理的值,但非常接近原始值。原版没有调用 ip 地址或类似的东西。
  • 我在本地机器上运行了 mysql,但我想在测试期间使用远程 mysql 数据库。更具体地说,我没有在我的本地机器上创建了数据库的副本...
  • 我可以在站点的http://www.sitename.com/phpMyAdmin/ 上导航到 phpMyAdmin 并以这种方式登录以查看数据库...为了连接到远程数据库,我需要主机提供什么?

标签: php mysql mysql-connect


【解决方案1】:

首先,您需要检查您的网站是否允许外部 IP 连接到数据库。如果是这样,您可能需要将您当前的 IP 添加到允许的 IP 列表中。

然后,您需要使用他们的外部数据库地址连接到数据库。如果您正确执行所有操作,则应该可以。您的错误表明它无法连接到数据库。

【讨论】:

  • 我刚刚被告知他们不允许外部访问 mysql 数据库。
  • 为了跟进,我从生产服务器导出了 mysql 数据库,并在本地环境中重新创建了它。到数据库的连接现在在本地环境中工作。
猜你喜欢
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 2022-01-20
  • 2021-07-10
  • 1970-01-01
  • 2019-03-25
相关资源
最近更新 更多