Mysql教程之Windows 7/8下连接本地MySQL慢的问题解析
国语自产精品【chǎn jīng pǐn】视频在线看小🏨编【biān】:最近本地调试【dì diào shì】🎸网站的时候个♈别程序如phpcms一直出现这个🚤问题,速度异常慢【cháng màn】,偶尔发【ǒu ěr fā】现下面【xiàn xià miàn】的文章🧜,才提醒了我【le wǒ】🈁,原来问🥇题这样【tí zhè yàng】🦑的。。。
最近在windows上开发应用的时候发现一个有趣的问题:我的本地程序连接本地mysql库居然要延迟1秒钟左右才能打开。
问题分析
考虑到可能是程序性【chéng xù xìng】能问题后,我使用了💅xdebug的性能日志功🍧能输出程序运【chéng xù yùn】🌥行日志【háng rì zhì】后发现连接🏓mysql的函数🕛时间居【shí jiān jū】然用掉了接近🖋95%的执行【de zhí háng】时间【shí jiān】。
确认是mysql性能问🕐题后💟,考虑是【kǎo lǜ shì】mysql的域名反查功能影响🗺了速度【le sù dù】,令我失望的是,在my.ini里面关【lǐ miàn guān】🕓闭域名【bì yù míng】反查后🖖问题依【wèn tí yī】旧存在。
百思不得其解时我突【shí wǒ tū】发奇想【fā qí xiǎng】🤓将代码中的服【zhōng de fú】务器的地址从localhost修改为了🔐127.0.0.1,那个神【nà gè shén】奇的🐲1秒钟延【miǎo zhōng yán】迟居然👰消失了👽。
换成【huàn chéng】ip后居然🐩就好了,难道是🛁localhost存在啥【cún zài shá】蹊跷🏰?打开👃cmd,输入ping localhost,ping输出的【shū chū de】结果让我十分惊讶【jīng yà】:

没错,localhost 出来的【de】🚗是【shì】🍤 ipv6 地址【dì zhǐ】⛄ ::1,那么这一秒延迟的【de】原因也很【yīn yě hěn】容易理解了,使用【shǐ yòng】🔴localhost连接,程序解析出来🏓的【de】地址【dì zhǐ】⛄是【shì】🍤ipv6地址【dì zhǐ】⛄::1,然后去⛴尝试连💳接监听【jiē jiān tīng】这个🛶地址【dì zhǐ】⛄的【de】mysql, 而显然【ér xiǎn rán】的【de】是【shì】🍤mysql监听的【jiān tīng de】是【shì】🍤ipv4地址【dì zhǐ】⛄127.0.0.1, ipv6连不上【lián bú shàng】超时后会再去【huì zài qù】连接ipv4地址【dì zhǐ】⛄127.0.0.1, 这就是【shì】🍤这个🛶1秒钟延【miǎo zhōng yán】🤜迟出现🚢的【de】原因。
打开⌚windows的【de】hosts文件,你会看【nǐ huì kàn】到下面的【de】注释🍛
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
解决方法
方案📃1. 使用【shǐ yòng】🛍127.0.0.1而不是localhost去连接【qù lián jiē】mysql。
方案🤷2. 编辑【biān jí】hosts文件强【wén jiàn qiáng】🖲制将127.0.0.1绑定在localhost。
关键词:Mysql
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1