Php MYSQL连接不允许IP地址

Php MYSQL连接不允许IP地址,php,mysql,Php,Mysql,当我从Web服务器运行以下内容时,它运行正常: $ip = "localhost"; $uname = user $pw = user password $tb = table name $dbconn = mysqli_connect($ip, $uname, $pw, $tb) or die("Couldn't connect"); 但是,当我进行以下更改时,出现“无法连接”错误: 其中X是我的web服务器的公共IP。即使我将其更改为: $ip = "127.0.0.1"; 我发现无

当我从Web服务器运行以下内容时,它运行正常:

$ip = "localhost";
$uname = user
$pw = user password
$tb = table name


$dbconn = mysqli_connect($ip, $uname, $pw, $tb) or die("Couldn't connect");
但是,当我进行以下更改时,出现“无法连接”错误:

其中X是我的web服务器的公共IP。即使我将其更改为:

$ip = "127.0.0.1";
我发现无法连接错误

有人能想出拒绝连接的原因吗

谢谢

编辑: 我查看了服务器日志并得到以下信息(当我执行127.0.0.1时):


其中“USERNAME”是正确格式的我的数据库用户名,(cpname\u dbuser)

如果您试图从远程位置访问
Mysql
,则必须启用
远程Mysql
同时列出您的ip


使用
mysqli\u connect\u error()


使用
mysqli\u connect\u error()
返回上一个连接错误您需要从Web服务器的IP地址授予权限,打开防火墙上的端口3306以允许您连接的IP访问数据库,并且需要将MySQL绑定到您连接的IP地址。您可以在MySQL配置文件中执行此操作(搜索绑定地址)

要授予特权,您可以以MySQL root用户身份登录,并键入以下命令

grant all privileges on <database>.* to <username>@<ip address> identified by 'yourpassword'
将.*上的所有权限授予由“yourpassword”标识的@

其中ip地址是访问数据库的机器的地址。

您需要从Web服务器的ip地址授予权限,打开防火墙上的端口3306,以允许您连接的ip访问数据库,并且需要将MySQL绑定到您连接的ip地址。您可以在MySQL配置文件中执行此操作(搜索绑定地址)

要授予特权,您可以以MySQL root用户身份登录,并键入以下命令

grant all privileges on <database>.* to <username>@<ip address> identified by 'yourpassword'
将.*上的所有权限授予由“yourpassword”标识的@

其中ip地址是访问数据库的机器的地址。

或die(“无法连接”)这对你没有帮助。这会导致
或死亡(mysqli_错误($dbconn))-当我打开mysqli_error时也使用错误报告绝对没有显示
或死亡(“无法连接”)这对你没有帮助。这会导致
或死亡(mysqli_错误($dbconn))-在我打开mysqli时也使用错误报告\u错误绝对没有显示添加了编辑,当我从作为根帐户登录的phpmyadmin中执行此操作时,它会显示:#1044-拒绝用户'USERNAME'@'localhost'访问数据库'DBNAME'已添加编辑,当我从作为根帐户登录的phpmyadmin中执行此操作时,它会显示:#1044-拒绝用户“USERNAME”@“localhost”访问数据库“DBNAME”
grant all privileges on <database>.* to <username>@<ip address> identified by 'yourpassword'