Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法

yipeiwu_com6年前Mysql基础

对比下面两个脚本的速度:

  • Windows 7 用 localhost 连接本地 MySQL,速度会很慢。
  • Windows 7 用 127.0.0.1 连接本地 MySQL,速度则是正常的。

my.ini里配置了

bind-address=127.0.0.1

 用localhost连接本地MySQL: 速度慢

<?php
$start = microtime(true);
$mysqli = new mysqli('127.0.0.1', 'root', '', 'mysql'); //连接耗时仅为0.0025秒.
//$mysqli = new mysqli('localhost', 'root', '', 'mysql'); //连接耗时超过1秒,比正常慢了400倍.
echo microtime(true) - $start;

分析:
1.my.ini里配置

bind-address=127.0.0.1

时,Win7及其以上版本系统PHP用localhost连接MySQL耗时超过1秒,比用127.0.0.1连接慢了400倍.
2.my.ini里配置

bind-address=::1

时,Win7及其以上版本系统PHP用localhost连接MySQL速度是正常的,但用127.0.0.1连接又不正常了.
3.去掉bind-address配置,则用localhost或127.0.0.1连接MySQL速度都是正常的.

所以:在配置了

bind-address=127.0.0.1 

的情况下,应该使用 127.0.0.1 连接本地 MySQL 数据库 。
安装 WordPress、phpMyAdmin 等 PHP 程序的时候默认使用 localhost 连接本地 MySQL 数据库,这时注意把默认的 localhost 改为 127.0.0.1。

另外,Windows 2008、2012 跟 Windows 7 存在同样的问题。

相关文章

php中mysql操作buffer用法详解

本文实例讲述了php中mysql操作buffer用法。分享给大家供大家参考。具体分析如下: php与mysql的连接有三种方式,mysql,mysqli,pdo。不管使用哪种方式进行连接...

解决了Ajax、MySQL 和 Zend Framework 的乱码问题

问题: 在 Google Map 上用 Ajax 以 get 方式向服务器传递数据时,服务器端显示为 url 乱码, Zend Framework 向 MySQL 存储数据为乱码,但是提...

php将mysql数据库整库导出生成sql文件的具体实现

由网上搜到,有更改。 文件名:db_backup.php 源代码如下: 复制代码 代码如下: <?php ini_set("max_execution_time", "180");...

PHP数据库编程之MySQL优化策略概述

PHP数据库编程之MySQL优化策略概述

本文简单讲述了PHP数据库编程之MySQL优化策略。分享给大家供大家参考,具体如下: 前些天看到一篇文章说到PHP的瓶颈很多情况下不在PHP自身,而在于数据库。我们都知道,PHP开发中,...

PHP+mysql实现的三级联动菜单功能示例

本文实例讲述了PHP+mysql实现的三级联动菜单功能。分享给大家供大家参考,具体如下: 数据库mysql -- 数据库: `student` -- -- -------------...