Mysql教程之Windows 7/8下連接本地MySQL慢怎么辦
來源:易賢網(wǎng) 閱讀:1084 次 日期:2014-11-03 16:28:10
溫馨提示:易賢網(wǎng)小編為您整理了“Mysql教程之Windows 7/8下連接本地MySQL慢怎么辦”,方便廣大網(wǎng)友查閱!

最近本地調試網(wǎng)站的時候個別程序如phpcms一直出現(xiàn)這個問題,速度異常慢,偶爾發(fā)現(xiàn)下面的文章,才提醒了我,原來問題這樣的。。。

最近在windows上開發(fā)應用的時候發(fā)現(xiàn)一個有趣的問題:我的本地程序連接本地mysql庫居然要延遲1秒鐘左右才能打開。

問題分析

考慮到可能是程序性能問題后,我使用了xdebug的性能日志功能輸出程序運行日志后發(fā)現(xiàn)連接mysql的函數(shù)時間居然用掉了接近95%的執(zhí)行時間。

確認是mysql性能問題后,考慮是mysql的域名反查功能影響了速度,令我失望的是,在my.ini里面關閉域名反查后問題依舊存在。

百思不得其解時我突發(fā)奇想將代碼中的服務器的地址從localhost修改為了127.0.0.1,那個神奇的1秒鐘延遲居然消失了。

換成ip后居然就好了,難道是localhost存在啥蹊蹺?打開cmd,輸入ping localhost,ping輸出的結果讓我十分驚訝:

名單

沒錯,localhost 出來的是 ipv6 地址 ::1,那么這一秒延遲的原因也很容易理解了,使用localhost連接,程序解析出來的地址是ipv6地址::1,然后去嘗試連接監(jiān)聽這個地址的mysql, 而顯然的是mysql監(jiān)聽的是ipv4地址127.0.0.1, ipv6連不上超時后會再去連接ipv4地址127.0.0.1, 這就是這個1秒鐘延遲出現(xiàn)的原因。

打開windows的hosts文件,你會看到下面的注釋

# localhost name resolution is handled within DNS itself.

# 127.0.0.1 localhost

# ::1 localhost

解決方法

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

方案2. 編輯hosts文件強制將127.0.0.1綁定在localhost。

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:Mysql教程之Windows 7/8下連接本地MySQL慢怎么辦

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)