12

我尝试从我的虚拟机连接到域中的数据库。它适用于 XP,但不知何故不适用于 Win7 并退出:“OperationalError: (1042, "Can't get hostname for your address")”

现在我尝试禁用防火墙和其他东西,但这并不重要。我不需要 DNS 解析,这只会减慢一切。所以我想使用“skip-name-resolve”选项,但是在使用MySQLdb for Python时没有my.ini或my.cnf,那我怎么还能使用这个选项呢?

感谢您的帮助-亚历克斯

4

2 回答 2

37

在 /etc/mysql/my.cnf 文件中添加以下行(skip-name-resolve)

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

并重启mysql服务器

于 2013-04-03T12:04:52.397 回答
1

这是一个需要在服务器上的 MySQL 配置文件中设置的选项。它不能由客户端 API 设置,例如MySQLdb. 这是因为潜在的安全隐患。

也就是说,我可能想拒绝来自特定主机名的访问。启用后,这将skip-name-resolve不起作用。(诚​​然,通过主机名进行访问控制可能不是最好的主意。)

于 2011-07-12T17:05:06.677 回答