强制 mysql 客户端使用主机名上的 IP(来自 python)?

强制 mysql 客户端使用主机名上的 IP(来自 python)?

有什么方法可以强制 mysql 客户端优先使用 IP 地址而不是主机名来向服务器进行自我识别?我正在运行 Python 2.7.12 和 MySQLdb 1.2.5 来连接到 MySQL 服务器并收到以下错误:

django.db.utils.OperationalError: (1130, "Host '<myHostName>' is not allowed to connect to this MySQL server")

当我尝试通过调用 mysql -h -p (等等) 从命令行进行连接时,它按预期工作。我假设这是因为客户端正在使用 IP 地址向服务器标识自己。 (当从服务器检查时,myHostName 无法从服务器的角度解析正确的 IP host myHostName)

有没有办法定义这个或者强制使用 IP 地址?

MySQL 版本是5.6.31-0ubuntu0.14.04.2-log (Ubuntu)

谢谢。

答案1

主机名的使用取决于服务器端,而不是客户端。您无法在客户端上进行任何更改来影响这一点。

要仅使用 IP 地址,MySQL 服务器必须使用该选项启动--skip-name-resolve,或者skip-name-resolve在 中进行设置my.cnf

相关内容