当前位置: 首页 > news >正文

MySQL系列之数据授权(安全)

导览

  • 前言
  • Q:如何对MySQL数据库进行授权管理
  • 一、MySQL的“特权”
    • 1. 权限级别
    • 2. 权限清单
  • 二、授权操作
    • 1. 查看权限
    • 2. 分配权限
    • 3. 回收权限
  • 结语
  • 精彩回放

前言

看过博主上一篇的盆友,可以Get到一个知识点:数据授权(eg:grant xx to yy)。对了,数据这么敏感,必须遵循“分而治之,最小认领”的原则。在这个大数据盛行的时代,数据显然成为人类的第N个生产资料,没有它,好像我们“站得不太高,看得不够清,听得不够远”。所以如何管理它,越来越重要了。

今天博主继续大话MySQL,助你了解它是如何完成授权的。Let’s Go~

在这里插入图片描述

Q:如何对MySQL数据库进行授权管理

提示:本文示例均已MySQL5.7为例。

一、MySQL的“特权”

在学习如何授权前,咱们先来看看MySQL有哪些“可授之权”

1. 权限级别

级别说明
全局授予最高管理权限。
数据库授予数据库及其内的所有对象的权限。
数据库对象授予数据库对象(如表、索引、视图和存储例程)的权限。

2. 权限清单

为进一步说明MySQL可以提供的特权,博主提供一个官方的列表:

权限授权列表作用域
ALL [PRIVILEGES]Synonym for “all privileges”Server administration
ALTERAlter_privTables
ALTER ROUTINEAlter_routine_privStored routines
CREATECreate_privDatabases, tables, or indexes
CREATE ROUTINECreate_routine_privStored routines
CREATE TABLESPACECreate_tablespace_privServer administration
CREATE TEMPORARY TABLESCreate_tmp_table_privTables
CREATE USERCreate_user_privServer administration
CREATE VIEWCreate_view_privViews
DELETEDelete_privTables
DROPDrop_privDatabases, tables, or views
EVENTEvent_privDatabases
EXECUTEExecute_privStored routines
FILEFile_privFile access on server host
GRANT OPTIONGrant_privDatabases, tables, or stored routines
INDEXIndex_privTables
INSERTInsert_privTables or columns
LOCK TABLESLock_tables_privDatabases
PROCESSProcess_privServer administration
PROXYSee proxies_priv tableServer administration
REFERENCESReferences_privDatabases or tables
RELOADReload_privServer administration
REPLICATION CLIENTRepl_client_privServer administration
REPLICATION SLAVERepl_slave_privServer administration
SELECTSelect_privTables or columns
SHOW DATABASESShow_db_privServer administration
SHOW VIEWShow_view_privViews
SHUTDOWNShutdown_privServer administration
SUPERSuper_privServer administration
TRIGGERTrigger_privTables
UPDATEUpdate_privTables or columns
USAGESynonym for “no privileges”Server administration

针对每个授权项,我们可以参考官方指导文档进行学习,直接跳转这里,进行查阅。

二、授权操作

了解了以上的“特权”后,我们可以自由支配它们,分配给适合的人。

1. 查看权限

比如你想查看指定用户(user)的权限,可以通过以下语句完成:

SHOW GRANTS FOR [USER]@[HOST];

查看用户的非特权属性,可通过以下语句完成:

SHOW CREATE USER [USER]@[HOST];

2. 分配权限

分配权限,统一使用以下语句完成:

grant xx privileges on [DB_NAME].[TABLE_NAME] to [USER]@[HOST] identified by [PASSWORD] with grant option;

这里博主有必要对这个语句,做一个特别介绍:

  • grant xx privileges
    授权的范围,比如all、select、create等。
  • on [DB_NAME].[TABLE_NAME]
    授权的对象,比如哪个库,哪个表。
  • to [USER]@[HOST]
    授权的用户访问控制,比如test用户通过127.0.0.1访问数据库。
  • identified by [PASSWORD]
    授权的用户访问密码。

3. 回收权限

既然有分配,那么就有回收。回收应该怎么操作,可通过以下语句完成:

revoke xx privileges on [DB_NAME].[TABLE_NAME] from [USER]@[HOST];

这里博主对这个语句,同样做一个特别介绍:

  • revoke xx privileges
    撤销/回收授权的范围,比如all、select、create等。
  • on [DB_NAME].[TABLE_NAME]
    撤销/回收的对象,比如哪个库,哪个表。
  • from [USER]@[HOST]
    撤销/回收的用户访问控制,比如test用户通过127.0.0.1访问数据库。

结语

本文对MySQL的权限操作进行了一定的介绍。希望可对有需要的盆友提供一定的帮助。
走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~


精彩回放


MySQL系列之如何在Linux只安装客户端
MySQL系列之如何正确的使用窗口函数(基于8.0版本)
MySQL系列之数据导入导出
MySQL系列之索引入门(上)
MySQL系列之索引入门(下)


在这里插入图片描述

http://www.lryc.cn/news/504382.html

相关文章:

  • 用 Python 实现经典的 2048 游戏:一步步带你打造属于你的小游戏!
  • Vue vs. React:两大前端框架的深度对比与分析(一)
  • React 进阶深入理解核心概念与高阶实践
  • Linux shell的七大功能 ---自动补齐、管道机制、别名
  • XML 在线格式化 - 加菲工具
  • java_多态的应用
  • Python+OpenCV系列:模版匹配
  • 【从零开始入门unity游戏开发之——C#篇10】循环结构——while、do-while、for、foreach的使用
  • Spring Boot项目使用虚拟线程
  • 实现SpringBoot项目嵌入其他项目
  • 朗致面试---IOS/安卓/Java/架构师
  • 数字信号处理:FIR滤波器
  • 鲲鹏麒麟安装Kafka-v1.1.1
  • 群控系统服务端开发模式-应用开发-操作记录功能开发
  • 昇思25天学习打卡营第33天|共赴算力时代
  • Vue 让视图区域滑到指定位置、回到顶部
  • EasyGBS点对点穿透P2P远程访问技术在安防视频监控中的应用
  • Android 使用 Gson + OkHttp 实现 API 的常规使用(个人心得)
  • WPF+MVVM案例实战与特效(三十九)- 深度剖析一个弧形进度条的实现
  • opencv——图片矫正
  • 前端核心知识总结
  • 【C语言】五子棋(c语言实现)
  • 【数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】
  • Python的3D可视化库【vedo】2-1 (plotter模块) 绘制器的使用
  • 6.1 初探MapReduce
  • 【数模学习笔记】模糊综合评价
  • 【C语言】库函数常见的陷阱与缺陷(四):内存内容操作函数[1]--memcmp
  • jmeter CLI Mode 传参实现动态设置用户数
  • 数据库和SQL的基本概念
  • CSS系列(9)-- Transform 变换详解