IMHO Parece que você precisa que o mysqld pare de usar o DNS.
Por favor, faça o seguinte: Adicione isto ao /etc/my.cnf
[mysqld]
skip-host-cache
skip-name-resolve
Eles reiniciam o mysql. A partir de então, o mysql não irá mais resolver endereços via DNS.
Experimente!
CAVEAT
Por favor, leia estas opções na documentação do MySQL:
Além disso, há uma restrição para usar isso: você não pode usar nomes DNS na coluna de host de nenhuma das tabelas de permissões.
ATUALIZAÇÃO 2012-12-17 08:37 EDT
Recentemente, perguntaram se skip-host-cache
e skip-name-resolve
poderiam ser definidos sem uma reinicialização do mysql. Vamos descobrir:
mysql> show variables like '%host%';
+---------------+--------------+
| Variable_name | Value |
+---------------+--------------+
| hostname | ************ |
| report_host | |
+---------------+--------------+
2 rows in set (0.00 sec)
mysql> show variables like 'skip_%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| skip_external_locking | ON |
| skip_name_resolve | OFF |
| skip_networking | OFF |
| skip_show_database | OFF |
+-----------------------+-------+
4 rows in set (0.00 sec)
mysql> set global skip_name_resolve = 1;
ERROR 1238 (HY000): Variable 'skip_name_resolve' is a read only variable
mysql>
Como mostrado, skip-host-cache
não está visível na lista de variáveis globais. Quanto a skip_name_resolve
, era visível. No entanto, ele não pode ser alterado dinamicamente porque é uma variável somente leitura.
Portanto, skip-host-cache
e skip-name-resolve
só podem ser alterados através de uma reinicialização do mysql.