Używam MySQL5.6.3 na maszynie wirtualnej CentOS 6.1 działającej w systemie Windows XP w VirtualBox .
Karta sieciowa jest skonfigurowana w trybie mostka, więc moje fizyczne i wirtualne maszyny współużytkują tę samą kartę Ethernet.
Na maszynie wirtualnej wszystko działa dobrze: dostęp do Internetu, wyszukiwania DNS. Jednak połączenia z demonem MySQL trwają chwilę, a dzienniki wciąż wyświetlają to ostrzeżenie:
[Ostrzeżenie] Nie można rozwiązać adresu IP „192.168.1.201”: Tymczasowy błąd w rozpoznawaniu nazw
192.168.1.201
to moja maszyna hosta, na której uruchamiam klienta MySQL.
Wygląda na to, że chociaż wyszukiwania DNS działają poprawnie, odwrotne wyszukiwania DNS kończą się przekroczeniem limitu czasu.
Oto konfiguracja maszyny wirtualnej:
# 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
Czy coś jest nie tak z moją konfiguracją sieci?
Odpowiedzi:
IMHO Wygląda na to, że potrzebujesz mysqld, aby przestać używać DNS.
Wykonaj następujące czynności: Dodaj to do /etc/my.cnf
Uruchom ponownie mysql. Od tego momentu mysql nie będzie już rozpoznawał adresów przez DNS.
Spróbuj !!!
CAVEAT
Przeczytaj następujące opcje w dokumentacji MySQL:
skip-host-cache
skip-name-resolve
DNS Lookup Optimization and the Host Cache
Jest też jedno ograniczenie korzystania z tego: Nie można używać nazw DNS w kolumnie hosta żadnej z tabel grantu.
AKTUALIZACJA 17.12.2012 08:37 EDT
Byłem niedawno pytanie, czy
skip-host-cache
iskip-name-resolve
może być ustawiony bez restartu mysql. Dowiedzmy Się:Jak pokazano,
skip-host-cache
nie jest widoczny na liście zmiennych globalnych. Co doskip_name_resolve
tego było widoczne. Nie można go jednak zmieniać dynamicznie, ponieważ jest to zmienna tylko do odczytu.Dlatego
skip-host-cache
iskip-name-resolve
można go zmienić tylko poprzez ponowne uruchomienie mysql.źródło
mysql.user
. Jeśli tak, musisz zastąpić je publicznym lub prywatnym (preferowanym) adresem IP.skip-host-cache
iskip-name-resolve
bez ponownego uruchamiania MySql?243.221.167.124.adsl-pool.sx.cn