【问题标题】:mysql_connect taking long time to executemysql_connect 需要很长时间才能执行
【发布时间】:2011-03-14 05:14:05
【问题描述】:

我在 php 中有以下脚本可以登录到 mysql

  $db_host="localhost";
  $db_user="root";
  $db_pass="123";

  $dbc=mysql_connect($db_host,$db_user,$db_pass) OR DIE (mysql_error());
  $dbs=mysql_select_db($db_name) OR DIE (mysql_error());    

这个脚本工作正常,现在我重新安装操作系统 现在我有 Windows 7 和 iis7 以及 PHP 版本 5.3.2 和 mysql 服务器 5.1 但现在这个脚本不工作了,需要记录时间来执行。

谢谢

【问题讨论】:

  • 这需要很长时间并且它不起作用?你的 MySQLd 正在运行吗?您可以使用控制台或使用这些凭据的 mysql 客户端连接到 mysql 吗?

标签: php mysql mysql-connect


【解决方案1】:

在 Windows 7 上 localhost 解析为 ::1,据我所知 MySQL 不支持 IPv6。

直接连接到127.0.0.1 解决了这个问题;但是您可以编辑hosts 文件以将localhost 解析为127.0.0.1,然后localhost 也可以使用:

  1. 打开 C:\Windows\System32\drivers\etc\hosts
  2. 删除以下行(如果存在):::1 localhost
  3. 添加以下行(如果不存在):127.0.0.1 localhost

【讨论】:

    【解决方案2】:

    用途:

    $db_host = "127.0.0.1";
    

    (或任何其他 IP,例如 192.168.1.2),而不是主机名 (localhost)。

    【讨论】:

      【解决方案3】:

      你也可以看看这个链接:http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-name-resolve

      --skip-name-resolve 选项

      【讨论】: