Estoy intentando desactivar la resolución de nombres DNS ya que tengo muchos otros servidores conectados a la base de datos central. La resolución de DNS es lenta y aparentemente se puede desactivar de esta manera:
[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
Sin embargo, todavía puedo conectarme a través de localhost, lo cual no tiene sentido para mí.
mysql -h localhost -u root -p -P 3412
He investigado un pocoaquí:
Si elige utilizar skip-name-resolve, asegúrese de que sus privilegios de conexión MYSQL estén configurados para permitir IP y no hosts.
En la mayoría de los sistemas, para el servidor MySQL local necesitarás usar host=127.0.0.1 para ipv4 y host=::1 para redes ipv6, en lugar del clásico “host=localhost”.
¿Por qué todavía puedo conectarme a través de localhost si la resolución de DNS está deshabilitada?
Respuesta1
MySQL trata la conexión de localhost
forma especial. En este caso, se conecta a través de un socket de dominio UNIX, no a través de TCP, y la cadena localhost
aún se usa para la autenticación del usuario.