最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Windows 7/8下连接本地MySQL慢的问题解析
时间:2022-11-14 23:37:27 编辑:袖梨 来源:一聚教程网
问题分析
考虑到可能是程序性能问题后,我使用了xdebug的性能日志功能输出程序运行日志后发现连接mysql的函数时间居然用掉了接近95%的执行时间。
确认是mysql性能问题后,考虑是mysql的域名反查功能影响了速度,令我失望的是,在my.ini里面关闭域名反查后问题依旧存在。
百思不得其解时我突发奇想将代码中的服务器的地址从localhost修改为了127.0.0.1,那个神奇的1秒钟延迟居然消失了。
换成ip后居然就好了,难道是localhost存在啥蹊跷?打开cmd,输入ping localhost,ping输出的结果让我十分惊讶:

没错,localhost 出来的是 ipv6 地址 ::1,那么这一秒延迟的原因也很容易理解了,使用localhost连接,程序解析出来的地址是ipv6地址::1,然后去尝试连接监听这个地址的mysql, 而显然的是mysql监听的是ipv4地址127.0.0.1, ipv6连不上超时后会再去连接ipv4地址127.0.0.1, 这就是这个1秒钟延迟出现的原因。
打开windows的hosts文件,你会看到下面的注释
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
# 127.0.0.1 localhost
# ::1 localhost
解决方法
方案1. 使用127.0.0.1而不是localhost去连接mysql。
方案2. 编辑hosts文件强制将127.0.0.1绑定在localhost。
相关文章
- 126网易邮箱极速访问入口-126免费邮箱登录闪电直达收件箱 03-28
- 漫画天堂客户端下载安装最新版本-漫画天堂官方正版合集下载入口 03-28
- 怎么在红色沙漠中解开星辰尖塔谜题 03-28
- 探索冒险岛(冒险岛攻略技能详解,助你成为顶尖冒险者) 03-28
- 四级报名官网入口-英语四级考试报名官网 03-28
- 外媒 PS5涨价等于送助攻 Switch 2要“躺赢”了 03-28