首页 >数据库 >mysql教程 >为什么我从本地主机连接到 MySQL 时收到'权限被拒绝”?

为什么我从本地主机连接到 MySQL 时收到'权限被拒绝”?

DDD
DDD原创
2024-11-02 16:54:29909浏览

Why Am I Getting

无法连接到 MySQL:权限被拒绝

尝试使用 PHP 连接到 MySQL 数据库时,可能会出现错误,指示“权限被拒绝了。”此错误可能发生在命令行上或通过 Web 服务器(例如本地主机)访问脚本时。

具体来说,当尝试使用以下脚本从本地主机连接到数据库时:

<code class="php">$host = '155.30.136.20';
$user = 'abc_user';
$pass = 'xxxxxxxxx';
$dbname = 'welcome';
$link = mysqli_connect($host, $user, $pass,$dbname);

// Connection checks and error handling omitted for brevity</code>

可能会出现错误“错误:无法连接到 MySQL。调试 errno:2002 调试错误:权限被拒绝”。此错误表明用户没有建立与数据库的连接所需的权限。

命令行和本地主机执行之间存在差异的原因可能与 SELinux 安全策略有关。默认情况下,策略 httpd_can_network_connect_db 处于禁用状态,从而阻止 Web 服务器连接到远程数据库。

要解决此问题,请按照以下步骤操作:

  1. 通过运行 getsebool 检查 SELinux 状态-a | grep httpd。
  2. 如果 httpd_can_network_connect_db 为“关闭”,请通过运行setsebool -P httpd_can_network_connect_db 1启用它。

进行这些更改后,网络服务器应该能够建立到数据库不会遇到“权限被拒绝”错误。

以上是为什么我从本地主机连接到 MySQL 时收到'权限被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn