29 votos

MySQL [Advertencia] dirección IP no puede ser resuelto

Estoy corriendo MySQL5.6.3 en un CentOS 6.1 de la máquina virtual que se ejecuta en Windows XP en VirtualBox.

La tarjeta de red está configurado en el modo de puente, así que mi físicos y máquinas virtuales comparten la misma tarjeta ethernet.

En la máquina virtual, todo funciona bien: acceso a internet, las búsquedas de DNS. Sin embargo, las conexiones con el demonio de MySQL tomar un tiempo, y los registros de seguir mostrando esta advertencia:

[Advertencia] la dirección de IP 192.168.1.201' no se pudo resolver: Temporal el fracaso en la resolución de nombres

192.168.1.201 es mi host de la máquina en la que estoy parado al cliente de MySQL.

Se parece a pesar de las búsquedas de DNS funcionan bien, a la inversa de las búsquedas de DNS terminar en un tiempo de espera.

Aquí está la configuración de la máquina virtual:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="08:00:27:4B:3D:7C"
NM_CONTROLLED="yes"
ONBOOT="yes"
NETMASK=255.255.255.0
IPADDR=192.168.1.200
GATEWAY=192.168.1.1
PEERDNS=yes

# cat /etc/resolv.conf
nameserver 192.168.1.1

Hay algo mal en mi configuración de red?

55voto

RolandoMySQLDBA Puntos 10660

En mi humilde opinión Esto suena como usted necesita mysqld para detener el uso de DNS.

Por favor, haga lo siguiente: Agregar en /etc/my.cnf

[mysqld]
skip-host-cache
skip-name-resolve

Ellos reiniciar mysql. A partir de entonces, mysql ya no resolver las direcciones a través de DNS.

Darle una oportunidad !!!

ADVERTENCIA

Por favor, lea estas opciones en la Documentación de MySQL:

También, hay una restricción para el uso de este: Usted no puede utilizar los nombres DNS en la columna host de cualquiera de las tablas grant.

ACTUALIZACIÓN 2012-12-17 08:37 EDT

Recientemente se me pidió si skip-host-cache y skip-name-resolve podría ser establecido sin una base de datos mysql restart. Vamos a ver:

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 se muestra, skip-host-cache no es visible en la lista de variables globales. Como para skip_name_resolve, era visible. Sin embargo, no puede cambiar dinámicamente porque es una lectura única variable.

Por lo tanto, skip-host-cache y skip-name-resolve sólo puede ser cambiado a través de una base de datos mysql restart.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: