J'exécute MySQL5.6.3 sur une machine virtuelle CentOS 6.1 fonctionnant sous Windows XP dans VirtualBox .
La carte réseau est configurée en mode pont, donc mes machines physiques et virtuelles partagent la même carte Ethernet.
Sur la machine virtuelle, tout fonctionne bien: accès Internet, recherches DNS. Cependant, les connexions au démon MySQL prennent du temps et les journaux continuent d'afficher cet avertissement:
[Avertissement] L'adresse IP '192.168.1.201' n'a pas pu être résolue: échec temporaire dans la résolution de nom
192.168.1.201
est ma machine hôte sur laquelle j'exécute le client MySQL.
Il semble que même si les recherches DNS fonctionnent correctement, les recherches DNS inversées se retrouvent dans un délai d'attente.
Voici la configuration de la machine virtuelle:
# 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
Y a-t-il un problème dans la configuration de mon réseau?
Réponses:
À mon humble avis, il semble que vous ayez besoin de mysqld pour arrêter d'utiliser DNS.
Veuillez faire ce qui suit: Ajoutez ceci à /etc/my.cnf
Redémarrez mysql. À partir de là, mysql ne résoudra plus les adresses via DNS.
Essaie !!!
CAVEAT
Veuillez lire ces options dans la documentation MySQL:
skip-host-cache
skip-name-resolve
DNS Lookup Optimization and the Host Cache
En outre, il existe une restriction à l'utilisation de ceci: vous ne pouvez pas utiliser de noms DNS dans la colonne hôte des tables d'octroi.
MISE À JOUR 2012-12-17 08:37 EDT
On m'a récemment demandé si
skip-host-cache
etskip-name-resolve
pouvait être défini sans redémarrage mysql. Découvrons-le:Comme indiqué,
skip-host-cache
n'est pas visible dans la liste des variables globales. Quant àskip_name_resolve
, il était visible. Cependant, il ne peut pas être modifié dynamiquement car il s'agit d'une variable en lecture seule.Par conséquent,
skip-host-cache
etskip-name-resolve
ne peut être modifié que via un redémarrage mysql.la source
mysql.user
. Si vous en avez, vous devez les remplacer par l'adresse IP publique ou privée (préférable) à la place.skip-host-cache
etskip-name-resolve
sans redémarrer MySql?243.221.167.124.adsl-pool.sx.cn