:: DEVELOPER ZONE
Wenn sich ein neuer Thread mit mysqld verbindet, erzeugt
mysqld einen neuen Thread, um die Anfrage zu handhaben. Dieser
Thread prüft zuerst, ob der Hostname im Hostnamen-Cache ist. Falls nicht,
ruft der Thread gethostbyaddr_r() und gethostbyname_r() auf,
um den Hostname aufzulösen.
Wenn das Betriebssystem die oben genannten Thread-sicheren Aufrufe nicht
unterstützt, sperrt der Thread ein Mutex und ruft statt dessen
gethostbyaddr() und gethostbyname() auf. Beachten Sie, dass
in diesem Fall kein anderer Thread andere Hostnamen auflösen kann, die
nicht im Hostnamen-Cache sind, bis der erste Thread fertig ist.
Sie können das DNS-Nachschlagen von Hostnamen (DNS-Lookup) abschalten,
indem Sie mysqld mit --skip-name-resolve starten. In diesem
Fall können Sie jedoch in den MySQL-Berechtigungstabellen nur IP-Nummern
verwenden.
Wenn Sie ein sehr langsames DNS und viele Hosts haben, können Sie mehr
Performance erzielen, wenn Sie entweder das DNS-Nachschlagen von Hostnamen
(DNS-Lookup) abschalten (mit --skip-name-resolve) oder
HOST_CACHE_SIZE (Vorgabe: 128) erhöhen und mysqld
neu kompilieren.
Sie können den Hostnamen-Cache mit --skip-host-cache abschalten. Sie
können den Hostnamen-Cache mit FLUSH HOSTS oder mysqladmin flush-hosts löschen.
Wenn Sie keine Verbindungen über TCP/IP zulassen wollen, starten Sie
mysqld mit --skip-networking.
© 1995-2005 MySQL AB. All rights reserved.
