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 forbar
用户的权限,并标识密码
我正在试,但不起作用。据我所知,这本书应该向任何人开放,但事实并非如此
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()
查看它为什么无法连接?我在其他迭代中有过,但它没有显示错误代码。