After the recent installation of MYSQL5 on a Linux server, local use of clients even the MySQL speed is very slow, local program connection is also very slow.
Workaround: add skip-name-resolve under [mysqld] of the configuration file MY.CNF.
The reason is that MySQL, which is installed by default, turns on DNS for reverse resolution. If disabled, the host name cannot be used in the MySQL authorization table and can only be used in IP format.
Attachment: How MySQL uses DNS
When a new thread connects to Mysqld, Mysqld'll spawn a new thread to handle the request. This thread would be the hostname is in the hostname cache. If not the thread would call Gethostbyaddr_r () and Gethostbyname_r () to resolve the hostname.
If the operating system doesn ' t support the above Thread-safe calls, the thread would lock a mutex and call gethostbyaddr () and gethostbyname () instead. Note ' In ' This case no other thread can resolve the other hostnames so is isn't in the hostname cache until the D 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 are have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookup with--skip-name-r Esolve 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 does this by starting mysqld with--skip-networking.
Or the host to add
192.168.1.21 N-21