程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 制止mysql做域名解析(處理長途拜訪mysql時很慢)

制止mysql做域名解析(處理長途拜訪mysql時很慢)

編輯:MySQL綜合教程

制止mysql做域名解析(處理長途拜訪mysql時很慢)。本站提示廣大學習愛好者:(制止mysql做域名解析(處理長途拜訪mysql時很慢))文章只能為提供參考,不一定能成為您想要的結果。以下是制止mysql做域名解析(處理長途拜訪mysql時很慢)正文


當長途拜訪mysql時,mysql會解析域名,會招致拜訪速度很慢,加高低面這個設置裝備擺設可處理此成績

制止mysql做域名解析
[mysqld]

skip-name-resolve


PHP長途銜接MYSQL速度慢,有時長途銜接到MYSQL用時4-20秒不等,當地銜接MYSQL正常,湧現這類成績的重要緣由是,默許裝置的MYSQL開啟了DNS的反向解析,在MY.INI(WINDOWS體系下)或MY.CNF(UNIX或LINUX體系下)文件的[mysqld]下參加skip-name-resolve這一句。

然則,如許會惹起一個成績:銜接mysql時,不克不及應用 localhost銜接了,而是要應用IP地址的;假如是按localhost對用戶賦權限的話,用戶登錄權限也要修正一下的。

銜接mysql速度慢的處理辦法.

2台辦事器,一台跑iis+php,一台跑mysql,和以往一樣設置裝備擺設好情況,測試頁面一切OK

跑運用的時刻發明php拜訪mysql速度很慢,這類情形在之前從未發明過,固然2台辦事器並不是在統一網段中,然則ping數值根本上都在1,2ms之間,tcp銜接應當不是成績關健,谷歌今後找到謎底,在my.ini文件的[mysqld]部門參加:skip-name-resolve,保留文件,重啟mysql,一切OK啦,速度象飛一樣了

新版本的mysql設置裝備擺設起來不象之前的誰人傻瓜化了,這個成績折騰了我一上午的時光,早晨回來總算是處理了,嘿嘿,又學到一些器械。

Windows 2003下的MySQL 5辦事器,本機銜接到MySQL辦事異常快,局域網內有兩台Linux機械,有一台銜接很快,別的一台輸出暗碼後要等好幾秒鐘能力連上。

處理方法:

在MySQL辦事器的設置裝備擺設中增長一個以下設置裝備擺設後速度飛快。

[mysqld]
skip-name-resolve

附錄:( How MySQL uses DNS )

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.

PHP長途銜接MYSQL速度慢,有時長途銜接到MYSQL用時4-20秒不等,當地銜接MYSQL正常,湧現這類成績的重要緣由是,默許裝置的MYSQL開啟了DNS的反向解析,在MY.INI(WINDOWS體系下)或MY.CNF(UNIX或LINUX體系下)文件的[mysqld]下參加skip-name-resolve這一句。

MYSQL長途銜接速度慢的處理辦法
在局域網內銜接其他機械的MYSQL,發明速度慢的很,不曉得甚麼緣由,總有幾秒的延遲.

後來在網上發明處理辦法,my.ini外面添加


[mysqld]
skip-name-resolve
skip-grant-tables


如許速度就快了!

skip-name-resolve

選項就可以禁用DNS解析,銜接速度會快許多。不外,如許的話就不克不及在MySQL的受權表中應用主機名了而只能用ip格局。

若應用–skip-grant-tables體系將對任何用戶的拜訪不做任何拜訪掌握,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟拜訪掌握;默許情形是show databases語句對一切用戶開放,

假如mysql辦事器沒有開長途帳戶,就在my.ini外面加上skip-grant-tables
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved