拒绝访问;您需要(至少其中一个)CREATE USER权限才能进行此操作

时间:2019-07-28 12:02:06

标签: php mysql

我正在使用以下脚本:

https://github.com/DanWin/hosting

此文件中的文件:https://github.com/DanWin/hosting/blob/master/var/www/common.php使用了以下功能:

function add_mysql_user(PDO $db, string $password) : string {
    $mysql_user = '';
    $stmt = $db->prepare('SELECT null FROM users WHERE mysql_user = ?;');
    do {
        $mysql_user = substr(preg_replace('/[^a-z0-9]/i', '', base64_encode(random_bytes(32))), 0, 32);
        $stmt->execute([$mysql_user]);
    } while($stmt->fetch());
    $create_user = $db->prepare("CREATE USER ?@'%' IDENTIFIED BY ?;");
    $create_user->execute([$mysql_user, $password]);
    return $mysql_user;
}

此行$create_user->execute([$mysql_user, $password]);现在向我显示一条错误消息:

  

警告:PDOStatement :: execute():SQLSTATE [42000]:语法错误或   访问冲突:1227访问被拒绝;您需要(至少其中之一)   在中为此操作创建用户权限   /xxx/xxx/common.php,行559

我搜索了google,发现这是一个权限问题,但是我看到我已经为该用户设置了所有权限。

那为什么会显示该错误?

该用户的当前权限:

enter image description here

注意:在localhost上,它运行良好。

0 个答案:

没有答案