当我从我的网络服务器运行以下内容时,运行正常:
$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)
答案 0 :(得分:0)
如果您尝试从远程位置访问Mysql
,则必须启用Remote Mysql
或Whiltelist 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是您从中访问数据库的计算机的地址。