DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) dns

Info Catalog (mysql.info) memory-use (mysql.info) optimizing-the-server
 
 7.5.6 How MySQL Uses DNS
 ------------------------
 
 When a new client connects to `mysqld', `mysqld' spawns a new thread to
 handle the request. This thread first checks whether the hostname is in
 the hostname cache. If not, the thread attempts to resolve the hostname:
 
    * If the operating system supports the thread-safe
      `gethostbyaddr_r()' and `gethostbyname_r()' calls, the thread uses
      them to perform hostname resolution.
 
    * If the operating system does not support the thread-safe calls,
      the thread locks a mutex and calls `gethostbyaddr()' and
      `gethostbyname()' instead. In this case, no other thread can
      resolve hostnames that are not in the hostname cache until the
      first thread unlocks the mutex.
 
 You can disable DNS hostname lookups by starting `mysqld' with the
 -skip-name-resolve option. However, in this case, you can use only IP
 numbers in the MySQL grant tables.
 
 If you have a very slow DNS and many hosts, you can get more
 performance by either disabling DNS lookups with -skip-name-resolve or
 by increasing the `HOST_CACHE_SIZE' define (default value: 128) and
 recompiling `mysqld'.
 
 You can disable the hostname cache by starting the server with the
 -skip-host-cache option. To clear the hostname cache, issue a `FLUSH
 HOSTS' statement or execute the `mysqladmin flush-hosts' command.
 
 To disallow TCP/IP connections entirely, start `mysqld' with the
 -skip-networking option.
 
Info Catalog (mysql.info) memory-use (mysql.info) optimizing-the-server
automatically generated byinfo2html