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服务器上的任何文件。

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

相关推荐
蒟蒻的贤9 分钟前
操作系统复习
java·开发语言·数据库
Dontla20 分钟前
打开网站时弹出Accept Cookies(接受Cookie)提示是什么意思?(数据保护法规,欧盟GDPR)
前端·数据库
赵八斤27 分钟前
java 项目中配置多个数据源
java·开发语言·数据库
小冷coding32 分钟前
【Java】以 Java + Redis + MySQL 为技术栈,模拟电商商品详情的读写场景,Cache Aside+ 延迟双删 方案
java·redis·mysql
松涛和鸣1 小时前
59、 IMX6ULL按键驱动开发:轮询到中断的实现
linux·服务器·c语言·arm开发·数据库·驱动开发
XT46251 小时前
创建唯一索引但存在NULL
数据库
扑火的小飞蛾1 小时前
【Oracle Database 分区表】之新特性_18c(三)
数据库·oracle
九章-1 小时前
集中式数据库 vs 分布式数据库:2026 最新对比,选哪个更合适?
数据库·分布式·集中式
softshow10261 小时前
Redis 分布式锁必避问题及解决方案
数据库·redis·分布式
韩立学长2 小时前
【开题答辩实录分享】以《足球球员数据分析系统开题报告》为例进行选题答辩实录分享
java·数据库·mysql