Php MYSQL连接不允许IP地址
当我从Web服务器运行以下内容时,它运行正常: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"; 我发现无
$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'