MYSQL连接不允许IP地址

时间:2015-11-26 16:14:47

标签: php mysql

当我从我的网络服务器运行以下内容时,运行正常:

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


$dbconn = mysqli_connect($ip, $uname, $pw, $tb) or die("Couldn't connect");

但是,当我进行以下更改时,出现“无法连接”错误:

$ip = "X.X.X.X";

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

$ip = "127.0.0.1";

我收到了无法连接的错误。

有人会想到这会拒绝连接吗?

由于

修改 我查看了服务器日志并得到以下内容(当我执行127.0.0.1时):

[26-Nov-2015 23:51:38 Europe/Moscow] PHP Warning:  mysqli_connect(): (28000/1045): Access denied for user '*USERNAME*'@'127.0.0.1' (using password: YES) in /filepath/

其中' USERNAME '是我的db用户名,格式正确,(cpname_dbuser)

2 个答案:

答案 0 :(得分:0)

如果您尝试从远程位置访问Mysql,则必须启用Remote MysqlWhiltelist your ip

使用mysqli_connect_error()返回上次连接错误

答案 1 :(得分:0)

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

要授予权限,您可以以MySQL root身份登录并键入以下内容...

grant all privileges on <database>.* to <username>@<ip address> identified by 'yourpassword'

其中ip address是您从中访问数据库的计算机的地址。