綠色資(zī)源網(wǎng):您(nín)身(shēn)邊最放心的安全下(xià)載站! 最新軟(ruǎn)件|熱門排行|軟(ruǎn)件分類(lèi)|軟件專題|廠商大全

綠色資源網

技術教程
您(nín)的(de)位置:首(shǒu)頁(yè)數據(jù)庫類MySQL → Mysql教程之Windows 7/8下連接本地MySQL慢的問(wèn)題(tí)解析

Mysql教程之Windows 7/8下連接(jiē)本地MySQL慢的問題解析

我要評論 2014/08/25 20:04:12 來源:綠色(sè)資源網(wǎng) 編(biān)輯:www.itseasyglobal.com [大(dà) ] 評論:0 點擊:394次

綠色資源網小編:最近本地(dì)調(diào)試網站的時候個別程序如(rú)phpcms一直出(chū)現這個問題,速度異(yì)常慢,偶(ǒu)爾發現下麵的文章,才提醒(xǐng)了我,原(yuán)來問(wèn)題這樣的。。。

最近(jìn)在windows上開發應用的時候發現一個有趣的問題:我的本地程序連接(jiē)本地mysql庫居(jū)然要延遲1秒(miǎo)鍾左右才能(néng)打開。

問題分析

考慮到(dào)可能是程序性能問(wèn)題(tí)後,我使(shǐ)用了xdebug的性能日誌功能輸出程序運(yùn)行日誌後發現連接mysql的函數時間居(jū)然用掉了(le)接近95%的執行時間(jiān)。

確認是mysql性能問(wèn)題後,考慮是mysql的域名反查功能影響了速度,令我失望的是,在my.ini裏麵關(guān)閉域(yù)名反查後問題依舊(jiù)存在。

百思不得其解時我突發奇想(xiǎng)將代碼(mǎ)中(zhōng)的服(fú)務器的地址(zhǐ)從localhost修改為了127.0.0.1,那個神奇(qí)的1秒(miǎo)鍾延遲居(jū)然消失了。

換成ip後居然就(jiù)好(hǎo)了(le),難道是localhost存在啥蹊蹺?打(dǎ)開(kāi)cmd,輸入ping localhost,ping輸出的結果(guǒ)讓我十分驚訝:

Mysql教程(chéng)之(zhī)Windows 7/8下連接本地MySQL慢的問題解析_綠(lǜ)色資源網

沒錯,localhost 出來的是 ipv6 地址 ::1,那麽這一秒延遲的原因也(yě)很容易理解(jiě)了(le),使用localhost連接(jiē),程序解(jiě)析出來的地址是ipv6地址::1,然後去嚐試(shì)連接監聽這個(gè)地址的(de)mysql, 而顯然的是mysql監(jiān)聽(tīng)的是ipv4地址(zhǐ)127.0.0.1, ipv6連不上超時後會再去連(lián)接ipv4地址127.0.0.1, 這就是這個1秒(miǎo)鍾延遲出現的原因。

打開windows的(de)hosts文(wén)件,你會看到(dào)下麵的(de)注釋

# localhost name resolution is handled within DNS itself.

# 127.0.0.1 localhost

# ::1 localhost

解決(jué)方法

方案1. 使用127.0.0.1而不是localhost去連接mysql。

方案(àn)2. 編輯hosts文(wén)件強製(zhì)將127.0.0.1綁(bǎng)定在localhost。

關鍵詞:Mysql

閱讀本文後(hòu)您有什麽感想? 已有(yǒu) 人給出評(píng)價!

  • 1 歡迎喜歡(huān)
  • 1 白癡
  • 1 拜(bài)托(tuō)
  • 1 哇(wa)
  • 1 加(jiā)油(yóu)
  • 1 鄙視(shì)