PHP和MYSQL之间的连接权限被拒绝的问题

时间:2019-03-07 05:45:51

标签: php mysql

我正在尝试将CRUD Simple与PHP连接,并在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连接也没有问题。< / p>

我正在使用php 7.3和CentOS 7。

解决方案

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

1 个答案:

答案 0 :(得分:1)

您可以检查的三件事

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

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

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