Mysql 5.7 grant 授权异常
一、Mysql 问题描述
1.检查 mysql.table_priv 表,查看表的所属
select * from mysql.table_priv where table_name=‘’;
2.检查 mysql.user 表,查看用于与白名单
select * from mysql.user;
3.查看 授权用户的权限
show grants for user_name;
4.查看 被授权用户的权限
show grants for user_name;
a的权限是
grant all privileges on * .* to a;
授权语句
select user();
‘a’@‘hostname’
grant select on database_01.table_01 to c;
从上面查看权限都是正常的,问题点在于grant 授权出现错误说明
'a'@'hostname' 权限被拒绝
原因:是database_01.table_01 的创建者被删除,导致a用户虽然有其权限,但是无法授予给其他人。
解决办法:
第一次遇到这种授权,所以记录下。该语句在SQL server 与 Oracle中使用较多。但关键字不一样,特此记录。
grant all privileges on * .* to a WITH GRANT OPTION;