我尝试从我的虚拟机连接到域中的数据库。它适用于 XP,但不知何故不适用于 Win7 并退出:“OperationalError: (1042, "Can't get hostname for your address")”
现在我尝试禁用防火墙和其他东西,但这并不重要。我不需要 DNS 解析,这只会减慢一切。所以我想使用“skip-name-resolve”选项,但是在使用MySQLdb for Python时没有my.ini或my.cnf,那我怎么还能使用这个选项呢?
感谢您的帮助-亚历克斯
我尝试从我的虚拟机连接到域中的数据库。它适用于 XP,但不知何故不适用于 Win7 并退出:“OperationalError: (1042, "Can't get hostname for your address")”
现在我尝试禁用防火墙和其他东西,但这并不重要。我不需要 DNS 解析,这只会减慢一切。所以我想使用“skip-name-resolve”选项,但是在使用MySQLdb for Python时没有my.ini或my.cnf,那我怎么还能使用这个选项呢?
感谢您的帮助-亚历克斯
在 /etc/mysql/my.cnf 文件中添加以下行(skip-name-resolve)
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
skip-name-resolve
并重启mysql服务器
这是一个需要在服务器上的 MySQL 配置文件中设置的选项。它不能由客户端 API 设置,例如MySQLdb. 这是因为潜在的安全隐患。
也就是说,我可能想拒绝来自特定主机名的访问。启用后,这将skip-name-resolve不起作用。(诚然,通过主机名进行访问控制可能不是最好的主意。)