mysql表授权与grant授权的区别

100人浏览   2025-08-28 00:52:36


一、数据库管理员给用户授权

(一)给指定用户授于某个数据库权限

对某个数据库的权限储存在mysql数据库的db表中。使用“show grants for 账号”语法来查看授权后的结果。

案例:授予mianyang用户有查询、更新数据库sichuan的权限

语句:grant select,update on sichuan.* to 'mianyang' @ 'localhost';

查看授权结果语句:show grants for 'mianyang' @'localhost';

(二)对某个用户授予所有数据库的的某些权限

对某个数据库的所有权限储存在mysql数据库的user表中,使用select host,user,select,updata,delete from user即可查看,在查看前需使用flush privileges更新授权结果。

案例:给chengdu用户授予所有数据库查询、更新权限

语句:grant select,update on *.* to 'chengdu' @ '%';

查看授权结果语句:select host,user,select_priv,update_priv,delete_priv from user;

二、结论

如果要查询一个用户的权限,如果从表的情况去看,那么要查看mysql数据表db、user、table_priv.column_priv。只有通过对上述表的查询才能查询出用户完整的权限信息。

相关推荐