mysql回收用户权限

2023-10-27

1.创建test1用户
select password(‘test1’);
±------------------------------------------+
| password(‘test1’) |
±------------------------------------------+
| *06C0BF5B64ECE2F648B5F048A71903906BA08E5C |
±------------------------------------------+
create user ‘test1’@‘localhost’ identified by password ‘*06C0BF5B64ECE2F648B5F048A71903906BA08E5C’;
这里create user中密码使用普通字符串时,则不需要password关键字,当使用password()函数加密之后的字符串时,则需要有password关键字

2.授权
grant select,create,delete on pmx.* to ‘test1’@‘localhost’ with grant option;
grant后面可以不用设置密码,因为在create user中已经设置好了。为数据库pmx下的所有表授权,用户的权限信息保存在mysql.db表中。

3.收回权限
revoke select,create,delete,grant option on pmx.* from ‘test1’@‘localhost’;
或者

revoke all privileges,grant option from ‘test1’@‘localhost’;
或者

revoke all privileges on pmx.* from ‘test1’@‘localhost’;
revoke grant option on pmx.* from ‘test1’@‘localhost’;
4. 授予什么权限就回收什么权限
4.1

grant select on . to ‘test1’@‘localhost’ with grant option;
授予全局权限,权限信息保存在mysql.user表中

复制代码
select * from mysql.user where user=‘test1’\G;
*************************** 1. row ***************************
Host: localhost
User: test1
Password: *06C0BF5B64ECE2F648B5F048A71903906BA08E5C
Select_priv: Y
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: Y
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
Create_tablespace_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string:
password_expired: N
1 row in set (0.00 sec)
复制代码
4.2

grant select on pmx.* to ‘test1’@‘localhost’ with grant option;
授予数据库权限,权限信息保存在mysql.db表中

复制代码
select * from mysql.db\G;
*************************** 1. row ***************************
Host: localhost
Db: pmx
User: test1
Select_priv: Y
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Grant_priv: Y
References_priv: N
Index_priv: N
Alter_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Execute_priv: N
Event_priv: N
Trigger_priv: N
1 rows in set (0.00 sec)
复制代码
4.3

grant select on pmx.score to ‘test1’@‘localhost’ with grant option;
授予某张表权限,权限信息保存在mysql.tables_priv表中

复制代码
select * from mysql.tables_priv;
±----------±----±------±-----------±---------------±--------------------±-------------±------------+
| Host | Db | User | Table_name | Grantor | Timestamp | Table_priv | Column_priv |
±----------±----±------±-----------±---------------±--------------------±-------------±------------+
| localhost | pmx | test1 | score | root@localhost | 0000-00-00 00:00:00 | Select,Grant | |
±----------±----±------±-----------±---------------±--------------------±-------------±------------+
复制代码
4.4

grant select(grade) on pmx.score to ‘test1’@‘localhost’ with grant option;
授予某个字段的权限,权限信息保存在mysql.columns_priv表中

复制代码
select * from mysql.columns_priv;
±----------±----±------±-----------±------------±--------------------±------------+
| Host | Db | User | Table_name | Column_name | Timestamp | Column_priv |
±----------±----±------±-----------±------------±--------------------±------------+
| localhost | pmx | test1 | score | grade | 0000-00-00 00:00:00 | Select |
±----------±----±------±-----------±------------±--------------------±------------+
复制代码

当使用

revoke all privileges on . from ‘test1’@‘localhost’;
回收的只是全局的权限,test1用户其他的权限,比如对pmx数据库的权限,对score表的权限,对某个字段的权限仍然持有。 所以为了回收用户的所有权限,使用

revoke all privileges,grant option from ‘test1’@‘localhost’;
这是条固定语法,all privileges和grant option必须都有

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql回收用户权限 的相关文章

  • MySQL 创建和更新时的 CURRENT_TIMESTAMP

    我想定义一个有 2 个 TIMESTAMP 字段的表 如下所示 CREATE TABLE msgs id INT PRIMARY KEY AUTO INCREMENT msg VARCHAR 256 ts create TIMESTAMP
  • 在 OS X 10.7 中找不到 Mysql 命令

    我无法让我的 mysql 在 os x 10 7 上启动 它位于 usr local mysql bin mysql 当我输入时 我得到命令未找到mysql version在终端中 我试过这个无法从 mac 命令行访问 mysql http
  • 根据 MySQL 列内容的长度创建索引?

    如何根据值的长度在 MySQL v 5 0 myisam 数据库引擎 中的列上创建索引 它是文本数据类型 最多 7000 个字符 我是否必须添加具有第一列长度的另一列 是的 因为 MySQL 不支持基于函数的索引 例如ADD INDEX m
  • 在 ASP.NET MVC 中使用 MySQL 的 AccountController

    在 Visual Studio 中创建默认的 ASP NET MVC 项目会设置一个可以在其中注册用户的基本项目 我将如何继续更改它以使用 MySQL 服务器而不是 SQLServer 现在可以使用了 安装最新的 Connector NET
  • Mysql为简单频繁查询创建排序索引性能

    我正在处理一个包含大约 400 万条消息条目的 mysql 表 并尝试根据时间戳选择最新的 50 条消息 另一个要求是返回的消息不以固定前缀开头 问题是单个查询大约占用 25 的 cpu 并且最多需要 1 5 秒 该查询经常由多个客户端执行
  • MySql如何通过过滤多列来限制多个数字?

    我想从数据库中获取 4 个不同类别的 50 个问题 我想要 4 个不同类别中每个类别的不同数量的问题 我的结果集必须包含第一类 12 个问题 第二类 20 个问题 第三类 10 个问题和第四类 8 个问题 我的问题表中总共有 50 个问题
  • PHP:使用输入和输出参数(不是“INOUT”)调用 MySQL 存储过程

    我想从 PHP 调用 MySQL 中的存储过程 该过程需要输入and输出参数 not INOUT 参数 举一个简单的例子 假设我在 MySQL 中有以下存储过程 DELIMITER DROP PROCEDURE IF EXISTS test
  • UNIX时间记录时区吗?

    我想问一下UNIX时间 UNIX时间是否记录时区 我将托管从美国芝加哥移至 JST 问题是我的整个 MySQL 数据库都有 UNIX 时间 芝加哥 美国时区 的记录 我有一个 PHP 代码来显示之前的时间 例如 3 天前 昨天等 当我搬到新
  • MySQL中是否有类似Oracle中“level”的函数[重复]

    这个问题在这里已经有答案了 我面临一个场景 如果输入是 10 我想要一个数字序列 1 2 3 10 在甲骨文中levelfunction 提供了该功能 我想知道如何在 MySQL 中执行相同的任务 谢谢 您可以在 mysql 中使用此查询
  • PDO::commit 之后使用 PDOStatement::rowCount 结果?

    在 MySQL 文档中 有一个关于使用的注释mysql affected rows事务提交后 http php net manual en function mysql affected rows php http php net manu
  • MySQL 5左连接未知列

    我有以下查询在 mysql 4 1 中工作 但在 5 0 中不起作用 SELECT FROM email e event email ee LEFT JOIN member m on m email e email WHERE ee ema
  • 更改Docker容器中的mysql密码

    我如何更改 docker 容器中的 root 密码 因为一旦我停止 mysql 服务 容器就会自动停止 我应该停止 mysql 容器并部署一个新容器吗 您可以使用正在运行的容器更改它docker exec session https doc
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • 在 MySQL 中将行转置为列

    如何在 MySQL 查询中将行转换为列 您可以将行变成a列与GROUP CONCAT 但您无法以任何自动方式转置整个结果集 您可以编写手动生成每一列的查询 也可以在应用程序中执行此操作 以下是有关编写复杂查询来模拟转置的教程 http ww
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • Laravel Sum 列数据库 Eloquent

    尝试获取我的一个表中 int 字段的总和应该非常容易 不幸的是 事实并非如此 因为无论我使用 Laravel MySQL 还是 Excel 我都会得到不同的结果 Laravel 5 4 给了我20506 Table sum field na
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • SQL Server 相当于 MySQL 的 USING

    在 MySQL 中 当您连接不同表中具有相同名称的列时 可以在连接中使用关键字 USING 例如 这些查询产生相同的结果 SELECT FROM user INNER JOIN perm USING uid SELECT FROM user
  • 在 PHP 中将十进制/双精度/浮点值与 PDO 绑定的最佳方法是什么?

    看来类常量只涵盖PDO PARAM BOOL PDO PARAM INT and PDO PARAM STR用于绑定 您只是将十进制 浮点 双精度值绑定为字符串还是有更好的方法来处理它们 MySQLi 允许使用 d 类型表示 double
  • 如何在Sequelize中从主模型同一级别的包含模型返回结果?

    这是我在项目中完成的代码和结果 我想获得包含模型的结果与主模型相同的结果 下面的代码是我所做的 序列化查询 User findAll include model Position attributes POSITION NAME then

随机推荐

  • 编程小白C语言登陆验证

    题目要求 实现登陆验证 有3次机会 如果用户名为 李小欣 密码 888 提示登陆成功 否者提示还有几次机会 用for循环完成 思路分析 首先要定义一个变量 保存登陆的机会 次数 n 变量t为剩余次数 定义两个字符数组 接收 用户名和密码 使
  • mysql中清空表数据,并重置主键为1

    mysql中清空表数据 并重置主键为1 清空表数据 并重置主键为1 truncate table table name 删除表中指定数据 不影响表结构 后面可以加where条件 delete from table name 删除表 drop
  • 凯云科技惊艳亮相深圳国际电子展,为半实物仿真测试领域注入新活力

    高算力 低功耗 见证PPA影响力为社会智能化赋能 elexcon 2023深圳国际电子展于8月23至25日在深圳会展中心 福田 亮相 展览面积6万平方米 吸引全国优秀的展商600余家 凯云联创 北京 科技有限公司携多款软硬件产品惊艳亮相 0
  • 线性代数之 向量的内积,外积,长度,正交与正交矩阵

    线性代数之 向量的内积 外积 长度 正交和正交矩阵 向量的内积 向量的外积 向量的长度 向量正交 正交矩阵 正交矩阵的扩展 向量的内积 对于列向量 a b R n
  • 使用GPU版本的torch

    声明 1 我是不知道安装torch到底需不需要安装CNDA和CUDNN的 我是按照其他文章所说 才下载的 CNDA和CUDNN 通过一些视频展示 下载GPU版本的torch是包含了CNDA组件的 所以我觉得可能不需要下载CNDA和CUDNN
  • GraphEdit 实用手册

    GraphEdit是微软公司开发一个用于建立和测试音视频程序的可视化工具 它建立在Graph Filter的原则上 Directshow是基于模块化 每个功能模块即单元组件都采取COM组件方式 称为Filter 将Filter串联在一起就形
  • R语言 报错 错误: pandoc document conversion failed with error 1033 停止执行

    最近在学习一个R语言的时间序列课程 用RStudio的RMarkdown时遇见了这个报错 错误 pandoc document conversion failed with error 1033 停止执行 神奇 仔细查找了很久才发现自己代码
  • 12-9 案例:处理复杂的线程返回结果

    1 问题来源 thrd create 函数功能为新建一个线程 传入待执行的函数 待执行函数的格式要求如下 typedef int thrd start t void arg 这意味着待执行函数只能返回 int 类型值 接收 void arg
  • 如何关闭防火墙、windows defender的设置不可用。该应用已从服务器中卸载

    一 windows defender的设置不可用 该应用已从服务器中卸载 操作系统可能是gho镜像做的 被精简了 开始 运行 CMD 输入gpedit msc 回车 如果失败 先进行第二步在返回来进行第一步 二 1 在管理员bai命令提示d
  • 神经网络及其matlab仿真

    本文进行了神经网络原理简介 并对蜢虫分类问题进行了matlab仿真 一 神经网络介绍 神经网络是由具有适应性的简单单元组成的广泛并行互联的网络 它的组织能够模拟生物神经系统对真实世界物体作出的交互反应 神经网络中最基本的成分是神经元 neu
  • mysql 减法,mysql 减法

    SQL codemysql gt desc t a175460677 Field Type Null Key Default Extra uName char 3 YES NULL money float 10 2 YES NULL
  • Arduino平衡小车

    Arduino平衡小车 1 概述 此Arduino平衡小车在主控方面由Arduino UNO R3和Arduino sensor shield v5 0传感器扩展板组成 采用TB6612FNG作为电源和电机之间的中介给带编码器的直流电机供电
  • Nacos鉴权和配置加密

    nacos存在可以任意用户添加的问题 更改提交方式为POST 访问 nacos v1 auth users test111username test111 password 123456 新建一个账号test111 可以看到创建用户成功 如
  • STM32读写内部Flash(介绍+附代码)

    概述 内部Flash读写详解 一 介绍 首先我们需要了解一个内存映射 stm32的flash地址起始于0x0800 0000 结束地址是0x0800 0000加上芯片实际的flash大小 不同的芯片flash大小不同 RAM起始地址是0x2
  • SMTP:防止追踪发件人IP

    1 使用网页版gmail发信 邮件头不带X Originating IP 2 javamail调用SMTP时加代理 props put mail smtp socks host 10 11 22 2 props put mail smtp
  • 背包

    01背包 问题描述 有N件物品和一个容量为V的背包 第i件物品的体积是weight i 价值是value i 求解将哪些物品装入背包可使价值总和最大 实现代码 include
  • Java-查看运行时对象占用内存

    Java 查看运行时对象占用内存 一 查看项目运行时的进程ID jps 二 导出运行信息到二进制文件中 选择想要查看程序的进程ID 例如 jmap dump format b file heap bin 20772 不能在系统目录中创建 会
  • STM32单片机蓝牙-APP全自动洗衣机水位检测洗涤脱水排水

    实践制作DIY GC0164 蓝牙 APP全自动洗衣机水位检测 基于STM32单片机设计 蓝牙 APP全自动洗衣机水位检测 二 功能介绍 硬件组成 STM32F103C单片机最小系统 LCD1602显示器 1个5V直流电机 低速洗衣高速脱水
  • NC portal保存只能获取当前子表选中行的数据集问题

    保存是获取子表数据只能获取到当前选中的行 代码如下 LfwViewmain LfwRuntimeEnvironment getWebContext getPageMeta getView main Dataset bodyds main g
  • mysql回收用户权限

    1 创建test1用户 select password test1 password test1 06C0BF5B64ECE2F648B5F048A71903906BA08E5C create user test1 localhost id