我尝试从虚拟机连接到域中的数据库。 它适用于XP,但不知何故不适用于Win7并退出: “OperationalError:(1042,”无法获取您的地址的主机名“)”
现在我尝试禁用防火墙和东西,但这无关紧要。 我不需要DNS解析,这只会减慢一切。 所以我想使用“skip-name-resolve”选项,但是没有my.ini 或者my.cnf在使用MySQLdb for Python时,我怎么还能使用这个选项呢?
感谢您的帮助 -Alex
答案 0 :(得分:35)
在/etc/mysql/my.cnf文件中添加以下行(skip-name-resolve)
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
skip-name-resolve
然后重启mysql服务器
答案 1 :(得分:1)
这是一个需要在服务器上的MySQL配置文件中设置的选项。它不能由MySQLdb
等客户端API设置。这是因为潜在的安全隐患。
也就是说,我可能想要拒绝来自特定主机名的访问。启用skip-name-resolve
后,这将无效。 (无可否认,通过主机名进行访问控制可能不是最好的主意。)