【问题标题】:Problem of Denied Permissions in connection between PHP and MYSQLPHP 和 MYSQL 连接的 Denied Permissions 问题
【发布时间】:2019-03-07 05:45:51
【问题描述】:

我正在尝试使用 PHP 连接 CRUD Simple,连接 MySQL 中的数据库。 问题是在 mysql_connect 函数中,在主机变量中,如果我传递字符串localhost,它会连接并显示数据库的信息。问题是当我输入 MySQL 数据库所在主机的 IP 时,它显示 Permission denied。 我已经使用以下命令将权限发送给用户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 setsebool -P httpd_can_network_connect 1

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    你可以检查的三件事

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

    或

    1. 删除 /etc/mysql/my.cnf 中的绑定地址 127.0.0.1

    或

    1. apache 未配置为外部访问。试试sudo setsebool -P httpd_can_network_connect 1

    【讨论】:

    • 这是你的mysql服务器IP地址。如果是错误的,您可以输入 0.0.0.0 以允许任何网络或子网地址专门授予对网络的访问权限
    • 阅读本文了解更多关于绑定地址stackoverflow.com/questions/3552680/…
    • 现在把IP改成0.0.0.0,还是一样的错误,不知道怎么办了
    • 你重启服务了吗?
    • 是的,我重启了mysqld和httpd服务,但是mysql连接不起作用。
    猜你喜欢
    • 2020-11-20
    • 2012-03-15
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2019-06-30
    • 2019-05-18
    相关资源
    最近更新 更多