MySQL中有关权限的表主要有以下几个:
一、user表
1. 作用
• 存储了MySQL用户账户信息以及全局级别的权限。例如,用户是否有创建数据库、执行特定类型查询(如SELECT、INSERT等)的全局权限。这里的权限会影响用户在整个MySQL服务器实例中的操作。
2. 内容示例
• 包含用户名、主机名、密码哈希值以及各种权限列(如Select_priv、Insert_priv等,这些列的值为Y或N,表示是否具有相应权限)等字段。
二、db表
1. 作用
• 定义了用户对数据库级别的权限。它确定了用户对特定数据库的操作权限,比如某个用户是否能在某个特定数据库中创建表、删除表等。
2. 内容示例
• 包含数据库名、用户名列、主机名以及针对该数据库的权限列(如Create_routine_priv等)等字段。
三、tables_priv表
1. 作用
• 用来管理用户对特定表的权限。例如,某个用户对某个数据库中的某张表是否有SELECT、UPDATE等权限。
2. 内容示例
• 包含数据库名、表名、用户名、主机名以及针对该表的各种权限列(如Table_priv列存储了用户对表的权限组合)等字段。
四、columns_priv表
1. 作用
• 主要用于控制用户对表中特定列的权限。比如用户对某张表的某个列是否有查询、更新等权限。
2. 内容示例
• 包含数据库名、表名、列名、用户名、主机名以及针对该列的权限列(如Column_priv列存储了用户对列的权限组合)等字段。