数据库中,db 表与 host 表是核心的权限控制表。db 表用于记录用户对指定数据库所拥有的操作权限,限定其可访问和操作的数据库范围;而 host 表则用于定义特定主机对数据库的访问能力,通常与 db 表协同工作,以实现更细粒度的权限管控。在实际应用中,db 表被调用频率更高,host 表则较少直接使用。需特别注意的是,这两张表中的权限配置不会响应 grant 和 revoke 语句,必须通过直接编辑表数据或使用 insert/update/delete 等 sql 操作进行变更。
1、 数据库表结构
2、 用户字段
3、 主机:作为联合主键的一部分,若值为 %,表示匹配所有主机地址
4、 用户名:联合主键组成部分之一
5、 用户字段(同为联合主键项)
6、 权限字段集合
7、 Select_priv:标识用户是否具备执行 SELECT 查询操作的权限
8、 Insert_priv:标识用户是否允许使用 INSERT 向表中插入新记录
9、 Update_priv:标识用户是否拥有通过 UPDATE 修改现有数据的权限
10、 Delete_priv:标识用户是否能够使用 DELETE 删除已有数据行
11、 创建权限:决定用户能否创建新的数据库或数据表
12、 Drop_priv:标识用户是否可以删除已存在的数据库或数据表
13、 此权限控制用户是否可将自身所拥有的权限转授给其他账户,即是否具备“权限传递”能力
14、 References_priv:当前仅作预留用途,尚未启用任何实际功能
15、 索引操作权限:控制用户是否可对表执行索引的创建、删除及查看等操作
16、 Alter_priv:标识用户是否能修改表结构(如添加列、重命名字段等)或更改表名
17、 创建临时表权限:判断用户是否可在会话中建立临时表
18、 锁表权限:决定用户是否可执行 LOCK TABLES 命令,从而限制其他连接对表的读写行为
19、 视图创建权限:允许用户在 MySQL 5.0 及以上版本中定义视图对象
20、 Show_view_priv:表示用户是否有权查看视图定义及其执行逻辑,仅适用于 MySQL 5.0+ 版本
21、 Create_routine_priv:控制用户是否可创建、修改或删除存储过程与函数,自 MySQL 5.0 起生效
22、 此权限用于管理用户是否可更新或移除已有的存储过程与函数,自 MySQL 5.0 开始支持
23、 Execute_priv:表示用户是否被授权运行存储过程,该权限仅在 MySQL 5.0 及以后版本中有效
24、 Event_priv:控制用户是否可创建、调整或删除事件调度器任务,该功能于 MySQL 5.1.6 版本新增
25、 Trigger_priv:标识用户是否具备创建或删除触发器的能力,自 MySQL 5.1.6 版本起引入

26、 host 表结构说明

27、 用户字段
28、 主机:联合主键成员之一,设为 % 时表示通配任意客户端主机
29、 用户字段(联合主键组成部分)

30、 权限字段集
31、 Select_priv:指用户是否拥有执行 SELECT 查询的权限
32、 Insert_priv:指用户是否可使用 INSERT 往表中添加数据记录
33、 Update_priv:指用户是否可通过 UPDATE 对已有数据实施更新操作
34、 Delete_priv:指用户是否具备使用 DELETE 清除数据记录的权限
35、 创建权限:决定用户是否能新建数据库或数据表
36、 Drop_priv:表示用户是否可以删除已存在的数据库或数据表
37、 Grant_priv:表示用户是否可将其持有的权限授予其他用户,即是否具有权限再分配权
38、 References_priv:目前仅为系统未来扩展预留,暂无实际作用
39、 Index_priv:表示用户是否可对表执行索引的新建、删除及查询操作
40、 Alter_priv:表示用户是否具备修改表结构(如增删字段、重命名表)或调整表名称的权限
41、 创建临时表权限:决定用户是否可在当前连接中创建临时表
42、 锁表权限:控制用户是否可执行 LOCK TABLES 操作,从而锁定表并阻止其他连接对其进行读写
43、 创建视图权限:允许用户在 MySQL 5.0 及更高版本中构建视图,旧版本不支持此功能
44、 Show_view_priv:表示用户是否能查看视图定义内容或了解其内部执行机制,仅在 MySQL 5.0+ 中可用
45、 Create_routine_priv:控制用户是否可创建、修改或删除存储过程与函数,自 MySQL 5.0 起正式启用
46、 Alter_routine_priv:表示用户是否可修改或删除已有存储过程与函数,自 MySQL 5.0 起支持
47、 执行存储过程权限:决定用户是否能调用已存在的存储过程,仅适用于 MySQL 5.0 及以上版本
48、 Trigger_priv:用于约束用户是否可创建或删除触发器,该权限自 MySQL 5.1.6 版本起加入



















