php - PHP与MYSQL连接拒绝权限问题

标签 php mysql

我正在尝试使用 PHP 连接 CRUD Simple,连接 MySQL 中的数据库。 问题是,在 mysql_connect 函数中,在主机变量中,如果我传递字符串 localhost ,它会连接并显示数据库的信息。问题是当我输入MySQL数据库所在主机的IP时,它显示权限被拒绝。 我已经使用以下命令将权限发送给用户 carlos:

GRANT ALL PRIVILEGES ON * . * TO 'carlos'@'%';

这是连接代码,其余代码不影响,因为这组是程序的第一行:

$link = mysqli_connect("192.168.0.18:3306", "carlos", "abc123", "distribuidos") or die ('Error. ' . mysqli_connect_error());

使用本地主机,连接工作:

$link = mysqli_connect("localhost", "carlos", "abc123", "distribuidos") or die ('Error. ' . mysqli_connect_error());

应该注意的是,我还使用已打开的端口配置了防火墙,在本例中为 3306,如果我使用命令 mysql -u carlos -h 192.168.来自另一台机器的 0.18 -p 连接我没有问题。

我使用的是 php 7.3 和 CentOS 7。

解决方案

我的解决方案是在 Linux 上执行下一个命令:sudo setebool -P httpd_can_network_connect 1

最佳答案

您可以检查的三件事

  1. 请检查您的端口是否打开

  • 删除/etc/mysql/my.cnf 中的绑定(bind)地址 127.0.0.1
  • apache 未配置为外部访问。尝试sudo setsebool -P httpd_can_network_connect 1
  • 关于php - PHP与MYSQL连接拒绝权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55036851/

    相关文章:

    mysql - 将查询附加到 MySQL 全文查询

    php - 使用 implode 函数调整 php mysql 搜索查询

    php - 在 Symfony/Doctrine 中删除大量用户数据的最佳/快速解决方案

    PHP:__ ('Some text' ) 做什么?

    php - 给出遥远 future 年份的 Unix 时间戳

    php - DateTime 对象的严格比较

    php - 如何制作表单更新页面来更新数据库表记录,但同时包含多个记录?

    php - 当仍在 php 服务器中处理数据时向浏览器发送反馈

    javascript - TinyMCE 字段中的脚本标签未正确保存

    mysql - delphi mysql 查询结果