MySQL权限表通常指的是MySQL数据库中用于存储和管理用户权限的数据表。这些表通常包括以下几种:

1. user 表:存储全局级权限。这些权限适用于整个MySQL服务器。例如,创建用户、删除用户、创建数据库等权限。

2. db 表:存储数据库级权限。这些权限适用于特定的数据库。例如,对某个数据库的SELECT、INSERT、UPDATE、DELETE等权限。

3. tables_priv 表:存储表级权限。这些权限适用于特定的表。例如,对某个表的SELECT、INSERT、UPDATE、DELETE等权限。

4. columns_priv 表:存储列级权限。这些权限适用于特定的列。例如,对某个列的SELECT、INSERT、UPDATE等权限。

5. procs_priv 表:存储存储过程和函数的权限。这些权限适用于特定的存储过程和函数。例如,对某个存储过程的执行权限。

6. proxies_priv 表:存储代理用户权限。这些权限适用于代理用户。

7. help_topic 表:存储帮助信息。

8. time_zone 表:存储时区信息。

9. time_zone_name 表:存储时区名称。

10. time_zone_leap_second 表:存储闰秒信息。

11. time_zone_transition 表:存储时区转换信息。

12. time_zone_transition_type 表:存储时区转换类型信息。

13. time_zone_info 表:存储时区信息。

这些表共同构成了MySQL的权限系统,用于管理和控制用户对MySQL数据库的访问和操作。需要注意的是,这些表通常由MySQL服务器内部使用,用户通常不需要直接操作这些表。

MySQL 权限表概述

MySQL 权限表是 MySQL 数据库管理系统的重要组成部分,用于管理用户对数据库的访问和操作权限。通过权限表,管理员可以精确控制用户对数据库对象(如数据库、表、列、存储过程等)的访问权限,确保数据的安全性和完整性。

MySQL 权限表列表

MySQL 中包含多个权限表,以下列举了主要的权限表及其作用:

1. user 表

user 表是 MySQL 中最重要的权限表之一,用于存储允许连接到服务器的账号信息。该表中的权限设置是全局级别的,适用于所有数据库。

用户列:存储用户名、主机名等信息。

权限列:定义用户在全局范围内的权限,如 SELECT、INSERT、UPDATE、DELETE 等。

安全列:存储用户密码的哈希值等安全信息。

资源控制列:用于限制用户对数据库资源的访问,如最大连接数、最大查询时间等。

2. db 表

db 表用于存储用户对特定数据库的操作权限。该表中的权限设置是数据库级别的,仅对指定数据库有效。

数据库名:指定用户具有权限的数据库。

用户名:指定具有权限的用户。

主机名:指定用户所在的主机地址。

权限列:定义用户在指定数据库中的权限,如 SELECT、INSERT、UPDATE、DELETE 等。

3. tables_priv 表

tables_priv 表用于存储用户对特定表的权限。该表中的权限设置是表级别的,仅对指定表有效。

数据库名:指定用户具有权限的数据库。

表名:指定用户具有权限的表。

用户名:指定具有权限的用户。

主机名:指定用户所在的主机地址。

权限列:定义用户在指定表中的权限,如 SELECT、INSERT、UPDATE、DELETE 等。

4. columns_priv 表

columns_priv 表用于存储用户对特定列的权限。该表中的权限设置是列级别的,仅对指定列有效。

数据库名:指定用户具有权限的数据库。

表名:指定用户具有权限的表。

列名:指定用户具有权限的列。

用户名:指定具有权限的用户。

主机名:指定用户所在的主机地址。

权限列:定义用户在指定列中的权限,如 SELECT、INSERT、UPDATE 等。

5. procs_priv 表

procs_priv 表用于存储用户对存储过程和存储函数的权限。该表中的权限设置是存储过程和存储函数级别的,仅对指定存储过程或存储函数有效。

数据库名:指定用户具有权限的数据库。

Routine_name:指定用户具有权限的存储过程或存储函数。

Routine_type:指定是存储过程还是存储函数。

Definer:指定创建存储过程或存储函数的用户。

User:指定具有权限的用户。

Host:指定用户所在的主机地址。

权限列:定义用户在指定存储过程或存储函数中的权限,如 EXECUTE。

权限管理操作

MySQL 提供了丰富的权限管理操作,以下列举了常见的权限管理操作:

1. 创建用户

使用 CREATE USER 语句创建新用户,并为其分配权限。

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

2. 授予权限

使用 GRANT 语句为用户授予权限。

GRANT SELECT, INSERT, UPDATE ON db_name.table_name TO 'username'@'localhost';

3. 回收权限

使用 REVOKE 语句回收用户的权限。