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

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

相关推荐
huaqianzkh30 分钟前
了解MySQL 高可用架构:主从备份
数据库·mysql·架构
向往风的男子1 小时前
【mysql】mysql之读写分离以及分库分表
数据库·mysql
阳光开朗_大男孩儿2 小时前
DBUS属性原理
linux·服务器·前端·数据库·qt
挠背小能手2 小时前
达梦数据库SCHEMA使用初探
数据库·oracle
楠神说软件测试2 小时前
接口自动化框架入门(requests+pytest)
运维·数据库·自动化
惟长堤一痕2 小时前
医学数据分析实训 项目一 医学数据采集
数据库
xuan哈哈哈2 小时前
web基础—dvwa靶场(八)SQL Injection(Blind)
数据库·web安全·网络安全
Lill_bin3 小时前
Lua编程语言简介与应用
开发语言·数据库·缓存·设计模式·性能优化·lua
听说唐僧不吃肉3 小时前
Shell篇之编写MySQL启动脚本
mysql
惜.己3 小时前
MyBatis中一对多关系的两种处理方法
java·开发语言·后端·sql·mysql·mybatis·idea