详解如何对MySQL数据库进行授权管理

 更新时间:2024年11月19日 09:13:37   作者:一叶飞舟  
MySQL数据授权是指数据库管理员通过设置权限,控制用户对数据库中的数据的访问和操作能力,在MySQL中,每个用户账户都有特定的权限,本文给大家介绍了如何对MySQL数据库进行授权管理,需要的朋友可以参考下

前言

看过博主上一篇的盆友,可以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数据库进行授权管理的文章就介绍到这了,更多相关MySQL数据授权内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL Packet for query is too large 问题及解决方法

    MySQL Packet for query is too large 问题及解决方法

    这篇文章主要介绍了MySQL Packet for query is too large 问题及解决方法,需要的朋友可以参考下
    2018-05-05
  • Mysql 忘记root密码的完美解决方法

    Mysql 忘记root密码的完美解决方法

    通常在使用Mysql数据库时,如果长时间没有登陆,或者由于工作交接完成度不高,会导致数据库root登陆密码忘记,本文给大家介绍一种当忘记mysql root密码时的解决办法,一起看看吧
    2016-12-12
  • mysql 字段括号拼接的实现示例

    mysql 字段括号拼接的实现示例

    在使用MySQL进行数据查询时,有时候需要对字段进行拼接,并用括号包围起来,本文主要介绍了mysql 字段括号拼接的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • mysql索引学习教程

    mysql索引学习教程

    在mysql 中,索引可以分为两种类型 hash索引和 btree索引。这篇文章主要介绍了mysql索引的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-09-09
  • 基于mysq字段选择的详解

    基于mysq字段选择的详解

    本篇文章是对mysq字段选择进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • SQL算术运算符之加法、减法、乘法、除法和取模的用法例子

    SQL算术运算符之加法、减法、乘法、除法和取模的用法例子

    算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算,下面这篇文章主要给大家介绍了关于SQL算术运算符之加法、减法、乘法、除法和取模用法的相关资料,需要的朋友可以参考下
    2024-03-03
  • SQL中distinct去重关键字使用和count统计组合使用方法

    SQL中distinct去重关键字使用和count统计组合使用方法

    这篇文章主要给大家介绍了关于SQL中distinct去重关键字使用和count统计组合使用的相关资料,count()是SQL中提供的用于统计记录数量的函数,需要的朋友可以参考下
    2024-08-08
  • MySQL同步数据Replication的实现步骤

    MySQL同步数据Replication的实现步骤

    本文主要介绍了MySQL同步数据Replication的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Mysql中关于Incorrect string value的解决方案

    Mysql中关于Incorrect string value的解决方案

    在对mysql数据库中插入数据的时候,直接插入中文是没有问题的!但是用预编译语句时,用流对数据进行处理总报incorrect string value这个异常。本篇文章教给你解决方法
    2021-09-09
  • mysql update语句的用法详解

    mysql update语句的用法详解

    本文详细介绍了,mysql中update语句的用法,系统全面的学习下update更新语句的用法,有需要的朋友可以参考下
    2014-08-08

最新评论