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

MySQL 权限分配

有时候,您需要查看某个用户被授予的权限以便复核。

MySQL 允许您使用 SHOW GRANTS 语句来显示分配给用户帐户或角色的权限。

MySQL SHOW GRANTS 语句介绍

以下是 SHOW GRANTS 语句的基本语法:

SHOW GRANTS
[FOR {user | role}
[USING role [, role] ...]]

在这个语法中:

  • 首先,在 FOR 关键字后指定要显示先前授予用户帐户或角色的权限的用户帐户或角色的名称。如果跳过 FOR 子句,则 SHOW GRANTS 返回当前用户的权限。
  • 其次,使用 USING 子句检查与用户角色相关的权限。您在 USING 子句中指定的角色必须事先授予用户。

除了可以显示当前用户的权限和角色,要执行 SHOW GRANTS 的语句,你需要有 mysql 系统数据库的 SELECT 权限。

MySQL SHOW GRANTS 实例

让我们举一些使用 MySQL SHOW GRANTS 语句的例子。

显示授予当前用户的权限

以下语句使用 SHOW GRANTS 语句显示授予当前用户的权限:

SHOW GRANTS;

它等效于以下语句:

SHOW GRANTS FOR CURRENT_USER;

SHOW GRANTS FOR CURRENT_USER();

CURRENT_USER 和 CURRENT_USER() 都返回当前用户。

显示授予用户的权限

这个实例演示了创建用户、授予权限、查看权限的完整步骤。

  1. 创建一个名为 sqlizdb 的新数据库:

    CREATE DATABASE sqlizdb;
    
  2. 选择数据库 sqlizdb :

    USE sqlizdb;
    
  3. 在数据库 sqlizdb 中新建一个表 test_table

    CREATE TABLE test_table(id int AUTO_INCREMENT PRIMARY KEY,txt varchar(100) NOT NULL
    );
    
  4. 创建一个新用户,名为 sqliz@'%' :

    CREATE user sqliz@'%' IDENTIFIED by 'SqLiZ9879123!';
    
  5. 显示授予用户 sqliz@'%' 的默认权限:

    SHOW GRANTS FOR sqliz@'%';
    
    +-----------------------------------+
    | Grants for sqliz@%                |
    +-----------------------------------+
    | GRANT USAGE ON *.* TO `sqliz`@`%` |
    +-----------------------------------+

    GRANT USAGE 是没有权限的代名词。默认情况下,当新用户创建时,它没有权限。

  6. 将 sqlizdb 数据库的所有权限授予用户 sqliz@'%' :

    GRANT ALL PRIVILEGES ON sqlizdb.* TO sqliz@'%';
    
  7. 最后,显示授予用户的权限 sqliz@'%' :

    SHOW GRANTS FOR sqliz@'%';
    
    +----------------------------------------------------+
    | Grants for sqliz@%                                 |
    +----------------------------------------------------+
    | GRANT USAGE ON *.* TO `sqliz`@`%`                  |
    | GRANT ALL PRIVILEGES ON `sqlizdb`.* TO `sqliz`@`%` |
    +----------------------------------------------------+

显示授予角色的权限

本实例演示了创建角色、授予角色权限、查看角色权限的完整步骤。

  1. 创建一个新角色,名为 write_role@'%' :

    CREATE ROLE write_role@'%';
    
  2. 显示授予角色的权限 write_role@'%' :

    SHOW GRANTS FOR write_role@'%';
    
    +----------------------------------------+
    | Grants for write_role@%                |
    +----------------------------------------+
    | GRANT USAGE ON *.* TO `write_role`@`%` |
    +----------------------------------------+
  3. 授予 write_role@'%' 在 sqlizdb 数据库上的 SELECT, INSERT, UPDATE,和 DELETE 权限:

    GRANT SELECT, INSERT, UPDATE, DELETE ON sqlizdb.* TO write_role@'%';
    
  4. 显示授予角色的权限 write_role@'%' :

    SHOW GRANTS FOR write_role@'%';
    
    +-------------------------------------------------------------------------+
    | Grants for write_role@%                                                 |
    +-------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO `write_role`@`%`                                  |
    | GRANT SELECT, INSERT, UPDATE, DELETE ON `sqlizdb`.* TO `write_role`@`%` |
    +-------------------------------------------------------------------------+

D) 显示用户与角色关联的权限

本实例演示了创建用户、分配角色、显示权限的详细步骤。

  1. 创建一个名为 sqliz2@'%'的新用户帐户:

    CREATE user sqliz2@'%' IDENTIFIED by 'SqLiZ9879123!';
    
  2. 授予 EXECUTE 权限给用户 sqliz2@'%'

    GRANT EXECUTE ON sqlizdb.* TO sqliz2@'%';
    
  3. 将角色 write_role@'%' 授予用户 sqliz2@'%'

    GRANT write_role@'%' TO sqliz2@'%';
    
  4. 显示授予用户的权限 sqliz2@'%' :

    SHOW GRANTS FOR sqliz2@'%';
    
    +----------------------------------------------+
    | Grants for sqliz2@%                          |
    +----------------------------------------------+
    | GRANT USAGE ON *.* TO `sqliz2`@`%`           |
    | GRANT EXECUTE ON `sqlizdb`.* TO `sqliz2`@`%` |
    | GRANT `write_role`@`%` TO `sqliz2`@`%`       |
    +----------------------------------------------+
  5. 最后,使用 SHOW GRANTS 语句中的 USING 子句来显示与 write_role@'%' 角色关联的权限:

    SHOW GRANTS FOR sqliz2@'%' USING write_role@'%';
    
    +------------------------------------------------------------------------------+
    | Grants for sqliz2@%                                                          |
    +------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO `sqliz2`@`%`                                           |
    | GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON `sqlizdb`.* TO `sqliz2`@`%` |
    | GRANT `write_role`@`%` TO `sqliz2`@`%`                                       |
    +------------------------------------------------------------------------------+

结论

在 MySQL 中,您可以使用 SHOW GRANTS 语句显示授予用户或角色的权限。

相关文章:

MySQL 权限分配

有时候,您需要查看某个用户被授予的权限以便复核。 MySQL 允许您使用 SHOW GRANTS 语句来显示分配给用户帐户或角色的权限。 MySQL SHOW GRANTS 语句介绍 以下是 SHOW GRANTS 语句的基本语法: SHOW GRANTS [FOR {user | role} [USING role [, role] .…...

基于PHP的医药博客管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的医药博客管理系统 一 介绍 此医药博客系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。用户可注册登录,查看/评论/搜索博客,建议留言。管理员可对用户&a…...

spark SQLQueryTestSuite sql 自动化测试用例

把SQL 添加到自动化测试用例。 ./sql/core/src/test/resources/sql-tests/inputs 目录存放原始的SQL. ./sql/core/src/test/resources/sql-tests/results存放SQL的执行结果。在执行测试时,根据最新生成的结果和 ./sql/core/src/test/resources/sql-tests/results 进…...

Taro小程序隐私协议开发指南填坑

一. 配置文件app.config.js export default {...__usePrivacyCheck__: true,... }二. 开发者工具基础库修改 原因:从基础库 2.32.3 开始支持 修改路径:详情->本地设置->调试基础库 三. 用户隐私保护指引更新 修改路径:mp后台->设…...

iOS App上传到苹果应用市场构建版本的图文教程

使用hbuilderx的h5或uniapp框架写的前端,进行云打包ios应用,会生成一个ipa后缀的应用文件。这个文件是没有办法像安卓应用那样直接安装在手机上面的。需要上架到苹果应用商店,用户才能下载安装使用。 因此,我们这篇文章讲详细介绍…...

paddle框架的使用

Paddle是由百度开发的深度学习框架,支持声明式和命令式编程风格。它还支持深度神经网络的超大规模训练和神经架构的自动设计。您可以使用 Paddle 构建用于训练的神经网络模型,具体步骤如下: 导入桨模块和其他必要的模块,如numpy&…...

Spring Boot + Vue的网上商城之基于element ui后台管理系统搭建

Spring Boot Vue的网上商城之基于element ui后台管理系统搭建 在本篇博客中,我们将使用Spring Boot和Vue来构建一个基于element ui的后台管理系统。我们将详细介绍每个步骤,并提供完整的代码示例,包括配置文件和组件。此外,我们…...

Linux基础入门

一、操作系统安装方法 1、使用u盘安装 工具&#xff08;前提条件&#xff09;&#xff1a; <1>u盘 <2>镜像文件iso/msdn.itellyou.cn <3>把u盘做成PE&#xff1a;大白菜/老毛桃/winPE/软碟通/ultralSO 设置BIOS&#xff1a;通过u盘启动 安装系统&…...

Unity工具——LightTransition(光照过渡)

需求描述 在游戏中&#xff0c;开发者为了让玩家更直接地看到待拾取的物品从而为其添加一种闪烁效果&#xff0c;或者模拟现实中闪烁的灯光效果&#xff0c;我能够想到的一种方案则是通过控制光照强度来实现&#xff0c;那么本篇文章我们就尝试通过这个方案来实现一下&#xff…...

【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图

目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 0. 设置中文字体 1-5. 折线图、散点图、柱状图、直方图、饼图 6. 箱线图&#xff08;Box Plot&#xff09; 7. 热力图&#xff08;Heatmap&#xff09; 8. 面积图&#xff08;Area Plot&#xff09; 9. 等…...

IMU+摄像头实现无标记运动捕捉

惯性传感和计算机视觉的进步为在临床和自然环境中获得精准数据带来了新可能。然而在临床应用时需要仔细地将传感器与身体对齐&#xff0c;这减慢了数据收集过程。 随着无标记运动捕捉的发展&#xff0c;研究者们提出了一个新的深度学习模型&#xff0c;利用来自视觉、惯性传感…...

前后端分离,JSON数据如何交互

如何接收&#xff1a; 在配置文件商法加上相应注解 EnableWebMvc 在接收的路径上加上RequestBody注解 注解的作用&#xff1a;在Spring框架中&#xff0c;RequestBody注解用于将HTTP请求的body中的内容转换为Java对象&#xff0c;并将其作为参数传递给控制器方法。它通常用…...

docker中已创建容器的修改方法

环境信息以CentOS8为例 停止容器 #docker stop 容器名或id docker stop mysql停止docker服务 systemctl stop docker修改docker配置文件 配置文件在&#xff1a; /var/lib/docker/containers/{容器id} 如&#xff1a;/var/lib/docker/containers/92acfba87567bcca981ad17c0e…...

uniapp中video播放视频上按钮没显示的问题

video标签层级很高&#xff0c;尝试了添加z-index&#xff0c;但无效果 通过查阅资料&#xff0c;得知cover-view层级比video层级高 效果图 需求是为了使直播时&#xff0c;可选是原画/流畅 解决方案 首先&#xff0c;在pages.json中配置右上角的图标 {"path" : …...

docker学习:dockerfile和docker-compose

学习如何使用dockerfile 以下内容&#xff0c;部分来自gpt生成&#xff0c;里面的描述可能会出现问题&#xff0c;但代码部分&#xff0c;我都会进行测试。 1. 需求 对于一个docker&#xff0c;例如python&#xff0c;我们需要其在构建成容器时&#xff0c;就有np。有以下两种方…...

Pycharm 配置python项目本地运行环境

1.打开Pycharm,打开Setting 2. 新建本地环境 3.如果报错如上图所示&#xff0c;请通过cmd来新建本地环境&#xff0c;具体步骤如下 在对应的代码路径下&#xff0c;通过virtualenv venv来创建虚拟路径 安装好之后&#xff0c;安装对应的依赖包即可 pip3 install -r ./require…...

DevEco Studio中如何设置HarmonyOS/OpenHarmony应用开发

DevEco Studio内置有帮助中心&#xff0c;初学HarmonyOS 及OpenHarmony应用、元服务的开发者&#xff0c;通过内置的帮助中去系统的学习相关内容&#xff0c;是边练边学&#xff0c;快速上手的最佳方式。 一、帮助 二、快速开始 三、HarmonyOS应用、元服务开发相关 四、OpenHa…...

Matlab图像处理-三原色

三原色 根据详细的实验结果&#xff0c;人眼中负责颜色感知的细胞中约有65%对红光敏感&#xff0c;33%对绿光敏感&#xff0c;只有2%对蓝光敏感。正是人眼的这些吸收特性决定了所看到的彩色是一般所谓的原色红&#xff08;R&#xff09;、绿&#xff08;G&#xff09;和蓝&…...

QLExpress代码解读,运行原理解析

简介&#xff1a; 本文针对上图的功能详细图&#xff0c;进行逐个的简单介绍&#xff1a;代码入口、代码的主要逻辑和算法。 调用代码实例 //本文以helloworld案例,开启了两个打印日志的参数&#xff0c;实际使用通常不建议打开。 boolean printParseLog true;//语法分析日志开…...

M1 Mac创建虚拟环境遇到的问题

报错信息 PackagesNotFoundError: The following packages are not available from current channels: python3.7 Current channels: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/osx-arm64 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch htt…...

Cursor Pro免费激活终极指南:如何突破试用限制重新获得AI编程体验

Cursor Pro免费激活终极指南&#xff1a;如何突破试用限制重新获得AI编程体验 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reach…...

Dynamic Deep Learning for Li-ion Battery Fault Detection: A Practical Approach with Real-world EV Da

1. 动态深度学习在锂电池故障检测中的核心价值 锂电池作为电动汽车的核心部件&#xff0c;其健康状况直接关系到整车的安全性和可靠性。传统基于阈值的检测方法在面对复杂多变的实际工况时&#xff0c;往往表现不佳。我们团队在实际测试中发现&#xff0c;某品牌车辆在低温环境…...

Qwen2.5-14B-Instruct+Pixel Script Temple:高校戏剧系AI辅助教学实战案例

Qwen2.5-14B-InstructPixel Script Temple&#xff1a;高校戏剧系AI辅助教学实战案例 1. 项目背景与价值 在高校戏剧教育领域&#xff0c;剧本创作一直是教学难点。传统教学模式下&#xff0c;学生需要花费大量时间在格式规范、基础场景构建等基础性工作上&#xff0c;而教师…...

iOS 版本nethack如何更换图形包-iNetHack2

这个iNetHack2这个应该我都没有找到设置按钮。后来无意中在贴吧中看到的。原来它的设置竟然在iOS的系统设置之中&#xff0c;是我少见多怪了&#xff0c;这可能是我见过的App 第1个在系统设置中设置的。UI中的Tileset 设置成Tiles32的界面风格就与nethack官方的UI一致了。...

FastGPT vs Dify vs Coze:哪个AI平台更适合你的项目需求?(2024最新对比)

FastGPT vs Dify vs Coze&#xff1a;2024年AI开发平台深度选型指南 当我们需要将大语言模型整合到业务系统中时&#xff0c;总会面临平台选择的难题。去年我在为一家金融科技公司搭建智能客服系统时&#xff0c;曾花费两周时间深度测试了市面上主流的三个AI开发平台——FastGP…...

从自动驾驶到AR眼镜:聊聊PSMNet这个双目立体匹配的‘老将’现在还能怎么用

PSMNet在2024年的技术重生&#xff1a;从经典立体匹配到轻量化落地的实战指南 六年前&#xff0c;当PSMNet在CVPR 2018上首次亮相时&#xff0c;其金字塔池化模块和堆叠沙漏3D CNN架构刷新了KITTI榜单的精度记录。如今&#xff0c;在Transformer大行其道的时代&#xff0c;这个…...

Zabbix 6.0部署避坑指南:为什么你的Ubuntu安装总卡在数据库初始化这一步?

Zabbix 6.0部署避坑指南&#xff1a;为什么你的Ubuntu安装总卡在数据库初始化这一步&#xff1f; 如果你正在Ubuntu上部署Zabbix 6.0&#xff0c;却反复在数据库初始化这一步失败&#xff0c;这篇文章就是为你准备的。不同于常规的安装教程&#xff0c;我们将聚焦于那些看似简…...

Matlab/Simulink仿真BLDC电机:避开转速闭环控制的5个常见坑

BLDC电机转速闭环仿真避坑指南&#xff1a;从参数配置到结果验证的完整解决方案 在电机控制领域&#xff0c;BLDC&#xff08;无刷直流电机&#xff09;因其高效率、长寿命和低维护成本等优势&#xff0c;已成为工业自动化、电动汽车和消费电子等领域的主流选择。Matlab/Simul…...

GLM-4.1V-9B-Base行业实践:农业病虫害田间照片识别与防治建议辅助

GLM-4.1V-9B-Base行业实践&#xff1a;农业病虫害田间照片识别与防治建议辅助 1. 农业场景下的视觉AI需求 在现代农业生产中&#xff0c;病虫害防治一直是困扰农户的核心问题。传统识别方法依赖农技人员现场勘查&#xff0c;效率低下且成本高昂。根据农业农村部数据&#xff…...

深入解析Nordic NRF52832的NFC天线与GPIO复用设计

1. NFC天线硬件设计基础 NRF52832芯片的NFC功能通过P0.09和P0.10两个专用引脚实现&#xff0c;这两个引脚在设计时需要特别注意硬件连接规范。实际项目中&#xff0c;我遇到过不少开发者直接将这两个引脚当作普通GPIO使用导致通信异常的情况——因为默认状态下它们被硬件映射为…...