出于什么原因,mysql 会拒绝访问通配符主机上的特定计算机


For what reason would mysql deny access to a specific computer on a wildcard host?

在我的mysql数据库中,我有一个用户'developer'@'%'。 我的开发人员每个人都使用 PHP 脚本和 new mysqli() 命令从他们自己的机器远程连接到数据库。 我刚刚在全新的计算机上为另一个开发人员安装了 fedora 19,并启动并运行了他们的本地主机,但是无论出于何种原因,当他们将 PHP 脚本加载到他们的本地主机上并尝试使用与其他开发人员使用的每台计算机完全相同的凭据连接到远程数据库时,会返回此错误

Warning: mysqli::mysqli(): (HY000/2002): Permission denied in /var/www/html/core/inc/ism.global.helper.php on line 82

我尝试在这台本地计算机上打开防火墙以允许传出连接,重新安装httpd,甚至添加另一个用户"developer"@'ip-address',其中"ip-address"是这台新机器的特定IP地址,仍然得到同样的错误。我还尝试将 mysqli(( 参数中的数据库主机设置为服务器的直接 IP 地址而不是域名。同样的错误。关于为什么仅拒绝这台计算机的访问的任何想法?

我发现需要加载 mysql.so 和 mysqli.so 模块。我补充说:

extension=mysql.so

extension=mysqli.so

到它们各自的 MySQL.ini 和 MySQLli.ini 文件中的/etc/php.d 并重新启动 HTTPD。

之后连接工作正常。