《Mysql學(xué)習(xí)如何解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫(kù)連接慢》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)如何解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫(kù)連接慢,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL學(xué)習(xí)通過(guò)內(nèi)網(wǎng)連另外一臺(tái)機(jī)器的mysql服務(wù), 確發(fā)現(xiàn)速度N慢! 等了大約幾十秒才等到提示輸入密碼.? 但是ping mysql所在服務(wù)器卻很快!? 想到很久之前有過(guò)類(lèi)似的經(jīng)驗(yàn), telnet等一些服務(wù)在連接哀求的時(shí)候,會(huì)做一些反向域名解析(如果反向解析不順暢, 估計(jì)就會(huì)延遲很多,? 給人的感覺(jué)是連接速度N慢!)
??? 在網(wǎng)上搜索了下解決辦法, 發(fā)現(xiàn)有兩種:
MYSQL學(xué)習(xí)??? 一. 兩邊機(jī)器配置的resolve.conf不一樣, 把resolve.conf配置成速度比較快的DNS就OK
MYSQL學(xué)習(xí)??? 二. 把mysql配置中的DNS反向解析關(guān)掉, 也OK?
MYSQL學(xué)習(xí)我用的是第一種方法, 修改resolve.conf配置后, 速度就上來(lái)了!?
MYSQL學(xué)習(xí)附一: 摘自http://gcoder.blogbus.com/logs/31907502.html
MYSQL學(xué)習(xí)??? 兩臺(tái)在同一網(wǎng)段的機(jī)器, 連接同一個(gè)數(shù)據(jù)庫(kù)服務(wù)器, 一臺(tái)的速度是另一臺(tái)的100倍, 數(shù)據(jù)庫(kù)主機(jī)是域名表示的. 怎么都想不明白?
MYSQL學(xué)習(xí)??? 后來(lái)查看兩臺(tái)機(jī)器的 /etc/resolv.conf, 發(fā)現(xiàn)配置不一樣, 改成速度快的那臺(tái)機(jī)器的配置, 速度那上就上來(lái)了.
MYSQL學(xué)習(xí)??? 域名解析也可以導(dǎo)致網(wǎng)絡(luò)程序慢, 又一收獲. 另外, mysql還有DNS反向解析的問(wèn)題, 也可能導(dǎo)致速度慢, 可以在mysql的配置文件中, 把DNS反向解析關(guān)掉.?
MYSQL學(xué)習(xí)??? 附二: 摘自
MYSQL學(xué)習(xí)??? 當(dāng)遠(yuǎn)程拜訪(fǎng)mysql時(shí),mysql會(huì)解析域名,會(huì)導(dǎo)致拜訪(fǎng)速度很慢,加上下面這個(gè)配置可解決此問(wèn)題
MYSQL學(xué)習(xí)
# 禁止mysql做域名解析
[mysqld]
skip-name-resolve
MYSQL學(xué)習(xí)??? PHP遠(yuǎn)程連接MYSQL速度慢,有時(shí)遠(yuǎn)程連接到MYSQL用時(shí)4-20秒不等,本地連接MYSQL正常,出現(xiàn)這種問(wèn)題的主要原因是,默認(rèn)安裝的MYSQL開(kāi)啟了DNS的反向解析,在MY.INI(WINDOWS系統(tǒng)下)或MY.CNF(UNIX或LINUX系統(tǒng)下)文件的[mysqld]下加入skip-name-resolve這一句.
MYSQL學(xué)習(xí)??? 但是,這樣會(huì)引起一個(gè)問(wèn)題:連接mysql時(shí),不能使用 localhost連接了,而是要使用IP地址的;如果是按localhost對(duì)用戶(hù)賦權(quán)限的話(huà),用戶(hù)登錄權(quán)限也要修改一下的.
MYSQL學(xué)習(xí)??? 連接mysql速度慢的解決辦法.
MYSQL學(xué)習(xí)??? 2臺(tái)服務(wù)器,一臺(tái)跑iis+php,一臺(tái)跑mysql,和以往一樣配置好環(huán)境,測(cè)試頁(yè)面一切OK
MYSQL學(xué)習(xí)??? 跑應(yīng)用的時(shí)候發(fā)現(xiàn)php拜訪(fǎng)mysql速度很慢,這種情況在以前從未發(fā)現(xiàn)過(guò),雖然2臺(tái)服務(wù)器并非在同一網(wǎng)段中,但是ping數(shù)值基本上都在1,2ms之間,tcp連接應(yīng)該不是問(wèn)題關(guān)健,google以后找到答案,在my.ini文件的[mysqld]部分加入:skip-name-resolve,保存文件,重啟mysql,一切OK啦,速度象飛一樣了
MYSQL學(xué)習(xí)??? 新版本的mysql配置起來(lái)不象以前的那個(gè)傻瓜化了,這個(gè)問(wèn)題折騰了我一上午的時(shí)間,晚上回來(lái)總算是解決了,嘿嘿,又學(xué)到一些東西.
MYSQL學(xué)習(xí)??? Windows 2003下的MySQL 5服務(wù)器,本機(jī)連接到MySQL服務(wù)非???局域網(wǎng)內(nèi)有兩臺(tái)Linux機(jī)器,有一臺(tái)連接很快,另外一臺(tái)輸入暗碼后要等好幾秒鐘才能連上.
MYSQL學(xué)習(xí)??? 解決方法:
MYSQL學(xué)習(xí)??? 在MySQL服務(wù)器的配置中增加一個(gè)如下配置后速度飛快.
MYSQL學(xué)習(xí)
[mysqld]
skip-name-resolve
MYSQL學(xué)習(xí)??? 附錄:( How MySQL uses DNS )
MYSQL學(xué)習(xí)??? When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve the hostname.
??? If the operating system doesn't support the above thread-safe calls, the thread will lock a mutex and call gethostbyaddr() and gethostbyname() instead. Note that in this case no other thread can resolve other hostnames that is not in the hostname cache until the first thread is ready.
??? You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.
??? If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookop with --skip-name-resolve or by increasing the HOST_CACHE_SIZE define (default: 128) and recompile mysqld.
??? You can disable the hostname cache with --skip-host-cache. You can clear the hostname cache with FLUSH HOSTS or mysqladmin flush-hosts.
??? If you don't want to allow connections over TCP/IP, you can do this by starting mysqld with --skip-networking.
MYSQL學(xué)習(xí)??? PHP遠(yuǎn)程連接MYSQL速度慢,有時(shí)遠(yuǎn)程連接到MYSQL用時(shí)4-20秒不等,本地連接MYSQL正常,出現(xiàn)這種問(wèn)題的主要原因是,默認(rèn)安裝的MYSQL開(kāi)啟了DNS的反向解析,在MY.INI(WINDOWS系統(tǒng)下)或MY.CNF(UNIX或LINUX系統(tǒng)下)文件的[mysqld]下加入skip-name-resolve這一句.
MYSQL學(xué)習(xí)??? MYSQL遠(yuǎn)程連接速度慢的解決辦法
MYSQL學(xué)習(xí)??? 在局域網(wǎng)內(nèi)連接其他機(jī)器的MYSQL,發(fā)現(xiàn)速度慢的很,不知道什么原因,總有幾秒的延遲.
MYSQL學(xué)習(xí)??? 后來(lái)在網(wǎng)上發(fā)現(xiàn)解決辦法,my.ini里面添加
MYSQL學(xué)習(xí)
[mysqld]
skip-name-resolve
skip-grant-tables
MYSQL學(xué)習(xí)??? 這樣速度就快了!
MYSQL學(xué)習(xí)
skip-name-resolve
MYSQL學(xué)習(xí)??? 選項(xiàng)就能禁用DNS解析,連接速度會(huì)快很多.不過(guò),這樣的話(huà)就不能在MySQL的授權(quán)表中使用主機(jī)名了而只能用ip格式.
MYSQL學(xué)習(xí)??? 若使用Cskip-grant-tables系統(tǒng)將對(duì)任何用戶(hù)的拜訪(fǎng)不做任何拜訪(fǎng)控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來(lái)開(kāi)啟拜訪(fǎng)控制;默認(rèn)情況是show databases語(yǔ)句對(duì)所有用戶(hù)開(kāi)放,如果mysql服務(wù)器沒(méi)有開(kāi)遠(yuǎn)程帳戶(hù),就在my.ini里面加上skip-grant-tables
MYSQL學(xué)習(xí)通過(guò)以上辦法成功解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫(kù)連接慢,有需要的朋友可以參考下本篇文章.
歡迎參與《Mysql學(xué)習(xí)如何解決局域網(wǎng)內(nèi)mysql數(shù)據(jù)庫(kù)連接慢》討論,分享您的想法,維易PHP學(xué)院為您提供專(zhuān)業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/9823.html