连接 mysql 拒绝访问权限_MySQL授予权限拒绝访问权限

我有一个Yii2项目,它运行一些数据库 . 它有一个基本的数据库连接,用于保存用户身份验证数据,第二个连接点指向为每个用户自动创建的数据库 .

我必须以编程方式创建数据库;所以,我有一个用户 project ,它具有全局授权权限和 project\_% . *上的通配符权限 . 我就是做这个的:

$queries = [

"CREATE DATABASE ".$dbname,

"FLUSH PRIVILEGES",

"CREATE USER '{$dbuser}'@'localhost' IDENTIFIED BY '{$dbpass}'",

"GRANT ALL PRIVILEGES ON {$dbname}.* TO '{$dbuser}'@'localhost'"

];

foreach($queries as $q) $application->db->createCommand($q)->execute();

$dbname is 'project_'.randomString(8).

我仔细检查了所有 project 权限,检查了 mysql . user 和 information_scheme ,我有可授予的权限和授予选项,但仍然会收到访问错误:

SQLSTATE [42000]:语法错误或访问冲突:1044用户'项目'@'localhost'访问被拒绝到数据库'project_sck6jdyb'正在执行的SQL是:在project_sck6jdyb上授予所有特权 . *到'pu_sck6jDyB'@'localhost' .

MySQL version is 5.6.21 ,在 XAMPP 下运行,Windows . 这是一个错误,还是我做错了什么?

更新: SHOW GRANTS for project@localhost;

GRANT INSERT,CREATE,DROP,RELOAD,INDEX,ALTER,SUPER,CREATE USER ON * . ''project'@'localhost'通过密码识别' [secret]'WITH GRANT OPTION授予所有项目特权 . * TO 'project'@'localhost'在项目上授予所有特权\ _% . *'''''''''''''''''''''''''''''''''''''''''''''''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值