没有权限,网上大部分说是
- 用户密码错误
- 或者空密码的情况下为了安全
而要通过关闭mysql服务等绕过权限。
但我是在设计数据库实验过程中,设计的用户通过角色授权,在验证用户权限时,发现用户找不到已创建数据库,使用
use 数据库名
时报ERROR 1044 (42000): Access denied for user错误,其实是 角色授权用户 需要通过(临时)激活用户的角色权限,
#root下执行
SET DEFAULT ROLE ALL TO 用户;
#退出,重新登录
#SELECT CURRENT_ROLE();
永久激活语句如下:
SET global activate_all_roles_on_login=ON;
两者区别是
- 非永久只是激活了用户的角色;
- 而永久激活语句里global是这个语句对整个数据库管理系统都适用,以后不必再激活。
版权声明:本文为qq_51691526原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。