mysql遠(yuǎn)程連接很慢一般是my.cnf中的skip-name-resolve沒有配置好了,我們只要簡單配置一下就可以了,下面我把我解決辦法分享給各位.
今天由于偶然登錄mysql服務(wù)器(mysql服務(wù)器裝有phpmyadmin)查看進(jìn)程(SHOW PROCESSLIST),我了個(gè)去,大量未被認(rèn)證用戶連接mysql,進(jìn)程結(jié)果如下:
|13|unauthenticated user|10.135.26.100:42345|NULL|Connect| |login|NULL|
|14|unauthenticated user|10.135.26.100:42346|NULL|Connect| |login|NULL|
|15|unauthenticated user|10.135.26.100:42349|NULL|Connect| |login|NULL|
我了個(gè)去,這是蝦米情況呢?問了百度谷歌,原因?yàn)椋?MYSQL開啟了DNS的反向解析,貌似默認(rèn)安裝就會(huì)出現(xiàn)這東東。問題找到,自然問題也就迎刃而解。
1.在啟動(dòng)參數(shù)中添加--skip-name-resolve,關(guān)閉反向域名解析功能
2.在my.cnf的[mysqld]一節(jié)中增加skip-name-resolve
3.在/etc/hosts文件中添加對應(yīng)的host記錄
為方便起見,直接采用方案2,在mysql配置文件my.cnf中f的[mysqld]一節(jié)中增加skip-name-resolve。選項(xiàng)就能禁用DNS解析,連接速度會(huì)快很多。不過,這樣的話就不能在MySQL的授權(quán)表中使用主機(jī)名了而只能用ip格式。
若使用–skip-grant-tables系統(tǒng)將對任何用戶的訪問不做任何訪問控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟訪問控制;默認(rèn)情況是show databases語句對所有用戶開放,
如果mysql服務(wù)器沒有開遠(yuǎn)程帳戶,就在my.cnf里面加上skip-grant-tables。
在linux下配置文件是/etc/my.cnf,在windows下配置文件是mysql安裝目錄下的my.ini文件。注意該配置是加在 [mysqld]下面,在更改配置并保存后,然后重啟mysql并遠(yuǎn)程連接測試,一切恢復(fù)如初。該參數(shù)的官方解釋信息如下:
mysql主機(jī)查詢DNS很慢或是有很多客戶端主機(jī)時(shí)會(huì)導(dǎo)致連接很慢,由于我們的開發(fā)機(jī)器是不能夠連接外網(wǎng)的,所以DNS解析是不可能完成的,從而也就明白了為什么連接那么慢了。同時(shí),請注意在增加該配置參數(shù)后,mysql的授權(quán)表中的host字段就不能夠使用域名而只能夠使用 ip地址了,因?yàn)檫@是禁止了域名解析的結(jié)果
新聞熱點(diǎn)
疑難解答
圖片精選