Estou tentando desabilitar a resolução de nomes DNS, pois tenho muitos outros servidores conectados ao banco de dados central. A resolução de DNS é lenta e aparentemente pode ser desativada assim:
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
port=3412
max_connections=500
skip-name-resolve
No entanto, ainda consigo conectar-me a ele via localhost, o que não faz sentido para mim.
mysql -h localhost -u root -p -P 3412
Eu fiz algumas pesquisasaqui:
Se você optar por usar skip-name-resolve, certifique-se de que seus privilégios de conexão MYSQL estejam configurados para permitir IPs, e não hosts.
Na maioria dos sistemas, para o servidor MySQL local você precisará usar host=127.0.0.1 para ipv4 e host=::1 para redes ipv6, em vez do clássico “host=localhost”.
Por que ainda posso me conectar via localhost se a resolução de DNS estiver desabilitada?
Responder1
MySQL trata a conexão localhost
especialmente. Neste caso, ele se conecta através de um soquete de domínio UNIX, não via TCP, e a string localhost
ainda é usada para autenticação do usuário.