Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql数据库对所有主机连接开放_Php_Mysql - Fatal编程技术网

Php mysql数据库对所有主机连接开放

Php mysql数据库对所有主机连接开放,php,mysql,Php,Mysql,我有一个用户集,可以从%通配符访问 这个“上帝”用户还可以访问每个数据库 我是否必须打开数据库本身以允许来自任何主机的连接 我意识到这对生产非常危险,但我不是在生产环境中工作。只是玩弄它,不能让它工作 GRANT ALL ON foo.* TO bar@'%' IDENTIFIED BY 'myP@s$w0rd'; 这将授予用户从%任何位置访问foodb forbar用户的权限,并标识密码 我正在试,但不起作用。据我所知,这本书应该向任何人开放,但事实并非如此 define('DB_HOST'

我有一个用户集,可以从%通配符访问

这个“上帝”用户还可以访问每个数据库

我是否必须打开数据库本身以允许来自任何主机的连接

我意识到这对生产非常危险,但我不是在生产环境中工作。只是玩弄它,不能让它工作

GRANT ALL ON foo.* TO bar@'%' IDENTIFIED BY 'myP@s$w0rd';
这将授予用户从
%
任何位置访问
foo
db for
bar
用户的权限,并标识密码

我正在试,但不起作用。据我所知,这本书应该向任何人开放,但事实并非如此

define('DB_HOST','98.76.54.321',true);
define('DB_USER','bar',true);
define('DB_PASS','myP@s$w0rd',true);
define('DB_DBAS','foo',true);

$link = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_DBAS);
if (!$link) { 
   echo 'FAIL! : '.mysqli_connect_error();
}
else { echo 'Success.'; }
mysqli_connect()为端口取一个字段,这样端口就不会与主机混在一起

mysqli_connect(HOST,USER,PASS,DATABASE,PORT);

%
之后是否缺少一个报价?抱歉,已修复。但问题不在于mysql语法,而是当我试图通过php连接时。我的php语法是有效的,我也会发布它。那么主机本身是否允许从任何客户端访问MySQL的3306端口?除非3306上的防火墙完全打开并且my.cnf中未启用
跳过网络
,否则无论授予的权限如何,您都无法从远程主机进行连接。您将以
无法建立数据库连接
终止,但您是否检查了
mysqli\u connect\u error()
查看它为什么无法连接?我在其他迭代中有过,但它没有显示错误代码。