aixuexiwoying 发表于 2016-05-03 14:51

解析MySQL权限表

解析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语句的影响
页: [1]
查看完整版本: 解析MySQL权限表