本文主要和大家分享MySql使用skip-name-resolve解決外網連結客戶端過慢問題該如何解決。在騰訊雲上面搭建的mysql使用開發的電腦上navicat進行訪問時總是特別的慢,原來是Mysql會對請求的地址進行域名解析,開發的電腦並沒有域名,所以會導致特別的慢。
在騰訊雲上面搭建的mysql使用開發的電腦上navicat進行訪問時總是特別的慢,原來是Mysql會對請求的地址進行域名解析,開發的電腦並沒有域名,所以會導致特別的慢,使用以下進行解決
[mysqld] skip-name-resolve skip-grant-tables
官方的解釋
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 hosthostbyaddr_r() and gethostbyname_r() to resolve the hostAname. 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 no other 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 thisase youon however on youonly 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 incve sing 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## you don't want to allow
connections over TCP/IP, you can do this by starting mysqld with
–skip-networking.
以上是MySql使用skip-name-resolve解決外網連線客戶端過慢如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!