:: DEVELOPER ZONE
Quando um novo cliente conecta ao mysqld, o mysqld extende
uma nova thread para lidar com o pedido. Esta thread primeiro confere se o
nome da máquina está no cache de nomes de máquinas. Se não, a thread tenta
resolver o nome da máquina.
Se o sistema operacional suporta as chamadas seguras com thread
gethostbyaddr_r() e gethostbyname_r(), a thread as utiliza
para fazer a resolução do nome máquina.
Se o sistema operacional não suporta as chamadas de threads seguras, a
thread trava um mutex e chama gethostbyaddr() e gethostbyname().
Perceba que neste caso nenhuma outra thread pode resolver outros nomes
de máquinas que não existam no cache de nomes de máquina até que a primeira thread
esteja destrave o mutex.
Você pode desabilitar a procura de nomes de máquinas no DNS iniciando o
mysqld com a opção --skip-name-resolve. No entanto, neste caso
você só pode usar números IP nas tabelas de privilégio do MySQL.
Se você possuir um DNS muito lento e várias máquinas, pode obter mais desempenho
desligando a procura de nomes de máquinas usando a opção --skip-name-resolve
ou aumentando HOST_CACHE_SIZE (valor padrão: 128) e recompilar
mysqld.
Você pode desabilitar o cache de nomes de máquinas iniciando o servidor com
a opção --skip-host-cache. Para limpar a cache do nome de máquinas,
envie uma instru;ção FLUSH HOSTS ou execute o comando
mysqladmin flush-hosts.
Se você deseja disabilitar as conexões TCP/IP totalmente, inicie o
mysqld com a opção --skip-networking.
© 1995-2005 MySQL AB. All rights reserved.
