MySQL——数据库的高级操作(三)权限管理(1)MySQL 的权限

在 MySQL数据库中,为了保证数据的安全性,数据管理员需要为每个用户赋予不同的权限,以满足不同用户的需求。

MySQL中的权限信息被存储在 MySQL 数据库的 user、db、host、tables_priv、column_priv 和 procs_priv 表中,当 MySQL启动时会自动加载这些权限信息,并将这些权限信息读取到内存中。

接下来通过图表列举一下 MySQL的相关权限以及在 user表中对应的列和权限范围。

|------------------------|-------------------------|------------|
| user 表的权限列 | 权 限 名 称 | 权 限 范 围 |
| Create_priv | CREATE | 数据库、表、索引 |
| Drop_priv | DROP | 数据库、表、视图 |
| Grant_priv | GRANT OPTION | 数据库、表、存储过程 |
| References_priv | REFERENCES | 数据库、表 |
| Event_priv | EVENT | 数据库 |
| Alter_priv | ALTER | 数据库 |
| Delete_priv | DELETE | 表 |
| Insert_priv | INSERT | 表 |
| Index_priv | INDEX | 表 |
| Select_priv | SELECT | 表、列 |
| Update_priv | UPDATE | 表、列 |
| Create_temp_table_priv | CREATE TEMPORARY TABLES | 表 |
| Lock_tables_priv | LOCK TABLES | 表 |
| Trigger_priv | TRIGGER | 表 |
| Create_view_priv | CREATE VIEW | 视图 |
| Show_view_priv | SHOW VIEW | 视图 |
| Alter_routine_priv | ALTER ROUTINE | 存储过程、函数 |
| Create_routine_priv | CREATE ROUTINE | 存储过程、函数 |
| Execute_priv | EXECUTE | 存储过程、函数 |
| File_priv | FILE | 范围服务器上的文件 |
| Create tablespace_priv | CREATE TABLESPACE | 服务器管理 |
| Create_user_priv | CREATE USER | 服务器管理 |
| Process_priv | PROCESS | 存储过程和函数 |
| Reload priv | RELOAD | 范围服务器上的文件 |
| Repl_client_priv | REPLICATION CLIENT | 服务器管理 |
| Repl_slave_priv | REPLICATION SLAVE | 服务器管理 |
| Show_db_priv | SHOW DATABASES | 服务器管理 |
| Shutdown_priv | SHUTDOWN | 服务器管理 |
| Super_priv | SUPER | 服务器管理 |

上表对 MySQL 的权限以及权限的范围进行了介绍,对于初学者来说可能无法理解,接下来针对表中部分权限进行分析,具体如下。

(1)CREATE 和 DROP 权限,可以创建数据库、表、索引,或者删除已有的数据库表、索引。

(2)INSERT、DELETE、UPDATE、SELECT 权限,可以对数据库中的表进行增删改查操作。

(3)INDEX权限,可以创建或删除索引,适用于所有的表。

(4)ALTER 权限,可以用于修改表的结构或重命名表。

(5)GRANT 权限,允许为其他用户授权,可用于数据库和表。

(6)FILE 权限,被赋予该权限的用户能读写 MySQL服务器上的任何文件。

上述这些权限只要了解即可,无须特殊记忆。

相关推荐
RestCloud11 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud11 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence13 小时前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
Java水解15 小时前
Mysql查看执行计划、explain关键字详解(超详细)
后端·mysql
知其然亦知其所以然19 小时前
MySQL 社招必考题:如何优化查询过程中的数据访问?
后端·mysql·面试
DemonAvenger20 小时前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
程序新视界21 小时前
如何在MySQL中创建聚集索引?
mysql
AAA修煤气灶刘哥1 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
程序新视界1 天前
学习MySQL绕不开的两个基础概念:聚集索引与非聚集索引
mysql
RestCloud1 天前
跨境数据传输:ETL如何处理时区与日期格式差异
mysql·api