Как использовать опцию skip-name-Resolution при использовании MySQLdb для Python? - PullRequest
10 голосов
/ 12 июля 2011

Я пытаюсь подключиться к базе данных в домене с моей виртуальной машины. Он работает на XP, но как-то не работает на Win7 и выходит с: «OperationalError: (1042,« Невозможно получить имя хоста для вашего адреса »)«

Теперь я попытался отключить брандмауэр и все такое, но это все равно не имеет значения. Мне не нужно разрешение DNS, которое только замедлит все. Поэтому я хочу использовать опцию "skip-name-resol", но my.ini отсутствует или my.cnf при использовании MySQLdb для Python, так как я могу по-прежнему использовать эту опцию?

Спасибо за вашу помощь Для -Alex-

Ответы [ 2 ]

35 голосов
/ 03 апреля 2013

Добавьте следующую строку (skip-name-resolution) в файл /etc/mysql/my.cnf

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
skip-name-resolve

и перезапустите сервер mysql

1 голос
/ 12 июля 2011

Это опция, которую необходимо установить в файле конфигурации MySQL на сервере. Он не может быть установлен клиентскими API, такими как MySQLdb. Это связано с потенциальными последствиями для безопасности.

То есть я могу запретить доступ с определенного имени хоста. С включенным skip-name-resolve это не будет работать. (Правда, в любом случае контроль доступа через имя хоста, вероятно, не лучшая идея.)

...