使用MySQLdb for Python时如何使用skip-name-resolve选项?

Cre*_*Tar 11 python mysql mysql-python resolve

我尝试从我的虚拟机连接到域中的数据库.它适用于XP,但不知何故不适用于Win7并退出:"OperationalError:(1042,"无法获取您的地址的主机名")"

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

谢谢你的帮助-Alex

Ran*_*zit 39

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

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
skip-name-resolve
Run Code Online (Sandbox Code Playgroud)

并重启mysql服务器

  • @OrlandoLeite你是什么意思? (3认同)
  • 我认为`skip-locking`现在是`skip-external-locking` (2认同)
  • 是的,添加`skip-external-locking`和`skip-name-resolve`,你将度过一段美好的时光. (2认同)

Mic*_*ior 1

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

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