mysql数据库权限表有哪些类型
MySQL数据库权限表是用于管理用户和角色对数据库对象的访问权限的表,在MySQL中,有以下几个主要的权限表:

1、mysql.user表
mysql.user表是MySQL中最重要的权限表之一,它存储了所有用户的基本信息,包括用户名、密码、主机名等,该表的结构如下:
| 字段名 | 类型 | 描述 |
| User | varchar(64) | 用户名 |
| Host | char(64) | 允许连接的主机名 |
| authentication | varchar(41) | 使用的认证插件 |
| password | varbinary(256) | 加密后的密码 |
| plugin | varchar(64) | 使用的认证插件 |
| Select_priv | ENUM('N','Y') | 是否允许选择操作 |
| Insert_priv | ENUM('N','Y') | 是否允许插入操作 |
| Update_priv | ENUM('N','Y') | 是否允许更新操作 |
| Delete_priv | ENUM('N','Y') | 是否允许删除操作 |
| Create_priv | ENUM('N','Y') | 是否允许创建操作 |
| Drop_priv | ENUM('N','Y') | 是否允许删除操作 |
| Grant_priv | ENUM('N','Y') | 是否允许授权操作 |
| References_priv | ENUM('N','Y') | 是否允许引用操作 |
| Index_priv | ENUM('N','Y') | 是否允许索引操作 |
| Alter_priv | ENUM('N','Y') | 是否允许修改表结构 |
| Show_db_priv | ENUM('N','Y') | 是否允许查看数据库列表 |
| Super_priv | ENUM('N','Y') | 是否允许超级用户权限 |
| Create_tmp_table_priv | ENUM('N','Y') | 是否允许创建临时表 |
| Lock_tables_priv | ENUM('N','Y') | 是否允许锁定表 |
| Create_view_priv | ENUM('N','Y') | 是否允许创建视图 |
| Show_view_priv | ENUM('N','Y') | 是否允许查看视图 |
| Create_routine_priv | ENUM('N','Y') | 是否允许创建存储过程和函数 |
| Alter_routine_priv | ENUM('N','Y') | 是否允许修改存储过程和函数 |
| Event_priv | ENUM('N','Y') | 是否允许创建、修改和删除事件 |
| Create_user_priv | ENUM('N','Y') | 是否允许创建用户 |
| Process_priv | ENUM('N','Y') | 是否允许查看进程列表 |
| File_priv | ENUM('N','Y') | 是否允许读写文件系统 |
| Reload_priv | ENUM('N','Y') | 是否允许重新加载配置文件 |
| Replug_priv | ENUM('N','Y') | 是否允许替换已有的存储引擎 |
| Create_symlink_priv | ENUM('N','Y') | 是否允许创建符号链接 |
2、mysql.db表
mysql.db表存储了所有数据库的基本信息,包括数据库名、字符集等,该表的结构如下:
| 字段名 | 类型 | 描述 |
| Host | char(64) | 允许连接的主机名 |
| db | char(64) | 数据库名 |
| User | char(64) | 拥有者用户名 |
| Select_priv | ENUM('N','Y') | 是否允许选择操作 |
| Insert_priv | ENUM('N','Y') | 是否允许插入操作 |
| Update_priv | ENUM('N','Y') | 是否允许更新操作 |
| Delete_priv | ENUM('N','Y') | 是否允许删除操作 |
| Create_priv | ENUM('N','Y') | 是否允许创建操作 |
| Drop_priv | ENUM('N','Y') | 是否允许删除操作 |
| Grant_priv | ENUM('N','Y') | 是否允许授权操作 |
| Index_priv | ENUM('N','Y') | 是否允许索引操作 |
| Alter_priv | ENUM('N','Y') | 是否允许修改表结构 |
| Create_tmp_table_priv | ENUM('N','Y') | 是否允许创建临时表 |
| Lock_tables_priv | ENUM('N','Y') | 是否允许锁定表 |
| Create_view_priv | ENUM('N','Y') | 是否允许创建视图 |
| Show_view_priv | ENUM('N','Y') | 是否允许查看视图 |
| Create_routine_priv | ENUM('N','Y') | 是否允许创建存储过程和函数 |
| Alter_routine_priv | ENUM('N','Y') | 是否允许修改存储过程和函数 |
| Event_priv | ENUM('N','Y') | 是否允许创建、修改和删除事件 |
3、mysql.tables_priv表
mysql.tables_priv表存储了所有数据库中的表的访问权限信息,包括表名、列名、访问权限等,该表的结构如下:
CREATE TABLEmysql.tables_priv(HostCHAR(64) NOT NULL default '', /* Allowed host */DbCHAR(64) NOT NULL default '', /* Allowed database */UserCHAR(64) NOT NULL default '', /* Allowed user */Table_nameCHAR(64) NOT NULL default '', /* Table name */GrantorCHAR(79) NOT NULL default '', /* Account that created this table */TimestampDATE NOT NULL default '0000-00-00', /* When was this permission added */PrivilegesTEXT NOT NULL, /* What privileges */ PRIMARY Key (Host,Db,User,Table_name,Grantor,Timestamp), KEYIndex_3(Table_name,Grantor,Timestamp), KEYGrantor(Grantor,Timestamp,Host,Db,User) USING BTREE, /* To speed up the search for the same row in the table */) ENGINE=InnoDB;
4、information_schema.user表(仅适用于MySQL)
information_schema.user表存储了MySQL服务器上的所有用户信息,包括用户名、主机名、密码等,该表的结构如下:
CREATE SCHEMA information_schema;
gRESET MASTER;
\MSELECT * FROM information_schema.user;\G```
本文标题:mysql数据库权限表有哪些类型
本文路径:http://www.jxjierui.cn/article/cojjpij.html


咨询
建站咨询
