天天看點

記錄一個mysql連接配接慢的問題

問題現象是這樣的:

我在一台機器上(61.183.23.23)啟動了一個mysql,然後開通一個賬号可以從127.0.0.1或者從61.183.23.23通路。但是遇到一個問題就是使用下面兩個指令行通路的時候,速度差别非常大:

mysql –h 127.0.0.1 –u user

mysql –h 61.183.23.23 –u user

然後我使用ping,判斷兩個ip的速度差不多。

使用127.0.0.1的ip速度比另一個快太多了。雖然說這裡的61.183.23.23需要去外網走一圈,但是速度差别怎麼會差這麼多。

解決辦法:

mysql使用skip-name-resolve禁止掉dns的查詢。

mysql會在使用者登入過程中對用戶端ip進行dns反查,不管你是使用ip登入還是域名登入,這個反查的過程都是在的。是以如果你的mysql所在的伺服器的dns有問題或者品質不好,那麼就有可能造成我遇到的這個問題,dns解析出現問題。

修改mysql配置檔案

[mysqld]

skip-name-resolve

補充:

做個提醒,增加skip-name-resolve有可能導緻賬号失效,比如我原先的賬号是yejianfeng@localhost,然後其實我使用mysql -h127.0.0.1 -uyejianfeng 是可以登入的。但是一旦加上了skip-name-resolve,就不能登入的了。需要加上賬号[email protected]