6. user
user 表是用户级授权表,具体结构及相关权限注释如下图所示:
[attach]349[/attach]
user 表用于管理用户,定义了各种命令的操作权限,MySQL 对于用户权限的命令非常直观,如 Select_priv 字段用于表示查询语句的执行权限,其它权限注释见上图。
访问权限原理
在 MySQL 中采用两阶段的方式来进行权限的存取和控制,这两个阶段是:
1. MySQL 服务器检查是否允许连接。
2. 如果连接成功,则 MySQL 服务器对于用户所发起的每个请求进行权限判断,识别用户是否具有足够的权限来运行此请求。例如,某个用户执行 drop 操作,如果没有该权限,那么操作不会成功。
权限检查基本流程为:
检查表 user ---->检查表 db ----> 检查表 host ----> 检查表 tables_priv ----> 检查表 columns_priv