仅通过 PHP 访问 MySQL 被拒绝

仅通过 PHP 访问 MySQL 被拒绝

我可以访问共享的大学研究服务器,我想在该服务器上托管一个 php/mysql 站点。我已经编译并运行了 mysql 服务器,并且可以使用“mysql -u -h localhost -p”正常连接到该服务器,但是当我通过 PHP 脚本使用完全相同的凭据和参数时,总是出现“用户@localhost 访问被拒绝”的情况。我做了进一步的调查,发现即使我的服务器实例没有运行,也会收到相同的错误消息,这表明该服务器是共享的并且可能运行着多个 mysqld 实例,因此存在问题。我尝试过更改端口和套接字,并通过脚本明确连接到它们,但仍然没有任何效果。我的 PHP 代码在本地运行良好,所以据我所知,没有任何语法错误。

有没有人遇到过类似的问题,或者可以给我提供一些资源?提前感谢您的时间!

答案1

我以前也遇到过这种情况。原来是 localhost 解析不正确或不可靠造成的问题。看看如果将其替换为 127.0.0.1 会发生什么情况

答案2

我刚刚遇到了类似的问题,但我在另一台机器上连接到 MySQL。我通过将主机名(我在 /etc/hosts 中创建)传递给 mysqli connect 而不是 IP 地址来解决了我的问题。不知道为什么这样可以解决问题,但确实如此。

相关内容