Назад | Перейти на главную страницу

MySQL [Предупреждение] IP-адрес не может быть определен

Я запускаю MySQL5.6.3 на виртуальной машине CentOS 6.1 под управлением Windows XP в VirtualBox.

Сетевая карта настроена в режиме моста, поэтому мои физические и виртуальные машины используют одну и ту же карту Ethernet.

На виртуальной машине все работает нормально: доступ в Интернет, поиск DNS. Однако подключение к демону MySQL занимает некоторое время, и в журналах по-прежнему отображается это предупреждение:

[Предупреждение] IP-адрес 192.168.1.201 не может быть разрешен: временный сбой в разрешении имен

192.168.1.201 это мой хост-компьютер, на котором я запускаю клиент MySQL.

Похоже, хотя поиск DNS работает нормально, обеспечить регресс Поиск DNS завершается тайм-аутом.

Вот конфигурация виртуальной машины:

# 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

Что-то не так в моей сетевой конфигурации?

IMHO Похоже, вам нужен mysqld, чтобы перестать использовать DNS.

Пожалуйста, сделайте следующее: Добавьте это в /etc/my.cnf

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

Их перезапускают mysql. С этого момента mysql больше не будет разрешать адреса через DNS.

Попробуйте !!!

ПРЕДОСТЕРЕЖЕНИЕ

Пожалуйста, прочтите эти параметры в документации MySQL:

Кроме того, есть одно ограничение на использование этого: вы не можете использовать DNS-имена в столбце хоста любой из таблиц предоставления.

ОБНОВЛЕНИЕ 2012-12-17 08:37 EDT

Меня недавно спросили, если skip-host-cache и skip-name-resolve можно установить без перезапуска mysql. Давайте разберемся:

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>

Как показано, skip-host-cache не отображается в списке глобальных переменных. Что касается skip_name_resolve, это было видно. Однако ее нельзя изменять динамически, поскольку это переменная только для чтения.

Следовательно, skip-host-cache и skip-name-resolve можно изменить только с помощью перезапуска mysql.