解析MySQL权限表

MySQL权限表都有哪些,分别控制MySQL哪些权限,有哪些注意事项?


1、user:记录账号、密码、全局性权限信息等,里面的权限是全局级的

    1)*_priv:适用MySQL服务器全局性的权限,假设某个账号拥有Delete_priv的全局性权限,则表示它可以对任何表进行删除数据的操作,这非常危险,所有一般只有超级用户root有这样的权限,其它普通用户没有。

    2)max_*:资源管理列,用于规定账号的资源使用上限,其中:

     max_questions:每小时发出的语句数上限

     max_updates:每小时发出的修改类语句数上限

     max_connections:每小时连接数上限

     max_user_connections:允许保有的连接数上限

    3)SSL相关列:

     ssl_type,ssl_cipher,x509_isuser, x509_subject

2、db:记录各个帐号在各个数据库上的操作权限

*_priv:适用于某个数据库的权限

3、tables_priv:表级别的权限

    Column_priv比较奇怪,因为照理说tables_priv只显示表级别的权限,列级别的权限应该在columns_priv里显示才对。后来查了资料才知道,原来这是为了提高权限检查时的性能,试想一下,权限检查时,如果发现tables_priv.Column_priv为空,就不需要再检查columns_priv表了,这种情况在现实中往往占大多数。

4、columns_priv:列级别的权限

5、procs_priv:存储过程和函数的权限

6、proxies_priv:记录代理用户的权限

7、host权限表:配合db权限表对给定主机上数据库级操作权限作更细致的控制。这个权限表不受GRANT和REVOKE语句的影响

更多精彩视频及学习文章,请关注我

解析MySQL权限表_第1张图片

你可能感兴趣的:(mysql)