![](/img/trans.png)
[英]MySQL GRANT ALL PRIVILEGES not allowing user creation on Google CloudSQL
[英]Grant All Privileges doesn't work on PHP [MySQL]
我正在尝试在循环内使用 php 授予GRANT ALL PRIVILEGES
。 每个用户都应该拥有对其相应数据库的完全访问权限。 但由于某种原因, GRANT ALL PRIVILEGES
命令返回false
响应。
$dbArray = [new OnePDO,new TwoPDO];
$dbNames = ['ONE_PDO','TWO_PDO'];
for ($foo = 0; $foo < count($dbNames); $foo++) {
$dbName = $dbNames[$foo];
$pass = $util -> generateRandomPassword();
$userName = strtolower($dbName);
$userName = str_replace('_', '.', $userName);
$util -> execute("CREATE USER '$userName'@'localhost' IDENTIFIED BY '$pass'", $dbArray[$foo]);
$util -> execute("GRANT ALL PRIVILEGES ON $dbName.* TO '$userName'@'localhost'", $dbArray[$foo]));
$util -> execute("FLUSH PRIVILEGES", $dbArray[$foo]);
}
尝试使用数据库时...
用户“one.pdo”@“localhost”拒绝访问数据库“ONE_PDO”
添加这个只是为了上下文......
public function execute($query, $database) {
$command = $database -> prepare($query);
try {
$command -> execute();
} catch (Exception $e) {
$command = false;
}
return $command;
}
我通过输入GRANT ALL PRIVILEGES ON *.* TO 'boss'@'localhost' WITH GRANT OPTION;
在终端中,然后我执行了 PHP。
以前我没有使用WITH GRANT OPTION
,这就是 PHP 脚本不起作用的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.