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

MySQL——数据库的高级操作(二)用户管理(3)删除普通用户

        在 MySQL中,通常会创建多个普通用户来管理数据库,但如果发现某些用户是没有必要的,就可以将其删除,删除用户有两种方式,接下来将针对这两种方式进行详细的讲解。

1、使用 DROP USER 语句删除用户

        DROP USER 语句与 DROP DATABASE 语句有些类似,如果要删除某个用户,只需在 DROP USER 后面指定要删除的用户信息即可。DROP USER 语句删除用户的语法格式如下:

DROP USER 'username'@'hostname'[,'username'@'hostname'];

        上述语法格式中,username表示要删除的用户,hostname表示主机名,DROP USER语句可以同时删除一个或多个用户,多个用户之间用逗号隔开。值得注意的是,使用DROP USER 语句来删除用户时,必须拥有 DROP USER 的权限。使用 DROP USER 语句删除用户 userl,SQL 语句如下:

DROP USER 'user1'@'localhost';

        上述语句执行成功后,可以通过SELECT语句验证用户是否被删除,运行结果如下:

mysql> SELECT Host, User, authentication_string FROM mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| Host      | User             | authentication_string                                                  |
+-----------+------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root             | *A3687CD1574820D919D6DF2AC07CA3AA9E5438BE                              |
| localhost | user2            | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              |
| localhost | user3            | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              |
+-----------+------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)

        从运行结果可以看出,user 表中已经没有 user1用户了,因此说明该用户被成功删除了。

2、使用 DELETE 语句删除用户

        DELETE语句不仅可以删除普通表中的数据,还可以删除 user 表中的数据,使用该语句删除 user 表中的数据时,只需指定表名为 mysql.user,以及要删除的用户信息即可。同样地,在使用 DELETE 语句时必须拥有对 mysql.user 表的 DELETE 权限。

        DELETE 语句删除用户的语法格式如下:

DELETE FROM mysgl.user WHERE Host='hostname' AND User='username';

        上述语法格式中,mysql.user 参数指定要操作的表,WHERE 指定条件语句,Host 和 User 都是 mysql. user 表的字段,这两个字段可以确定唯一的一条记录。使用 DELETE 语句删除用户 user2,SQL 语句如下:

DELETE FROM mysql.user WHERE Host='localhost' AND User='user2';

        上述语句执行成功后,可以通过 SELECT语句查询用户是否被删除,查询结果如下:

mysql> SELECT Host, User, authentication_string FROM mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| Host      | User             | authentication_string                                                  |
+-----------+------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root             | *A3687CD1574820D919D6DF2AC07CA3AA9E5438BE                              |
| localhost | user3            | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              |
+-----------+------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)

        从运行结果可以看出,user 表中已经没有 user2 用户了,因此说明该用户被成功删除了。由于直接对 user表进行操作,执行完命令后需要使用“ FLUSH PRIVILEGES; ”语句重新加载用户权限。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 面试—多线程
  • 7款实用电脑办公软件和网站,工作效率飞跃提升
  • 速响低代码平台:升级营销管理系统,开启高效无忧新体验!
  • 快捷创建MySQL实例与配置数据库
  • 从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
  • Oracle 数据库部署与实施
  • 双天线+ins
  • linux-安全管理-用户认证
  • 计算机毕业设计汽车选购销售平台管理系统车辆用户分类订单评价购买/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
  • Java通配符的作用
  • MDPI期刊为何连年预警?2024中科院预警名单中,为何MDPI最多?本期详解!
  • 【HarmonyOS】鸿蒙头像上传-(编辑个人信息页- 头像上传)+实时数据更新
  • 解决内存8G但是需要读取一个几百G的文件到内存的方法
  • Wordpress右下角表单弹出插件
  • 02 基于STM32的按键控制继电器驱动电机
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 2017 年终总结 —— 在路上
  • codis proxy处理流程
  • CSS相对定位
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • MySQL几个简单SQL的优化
  • MySQL用户中的%到底包不包括localhost?
  • underscore源码剖析之整体架构
  • Windows Containers 大冒险: 容器网络
  • 动态规划入门(以爬楼梯为例)
  • 和 || 运算
  • ------- 计算机网络基础
  • 聊聊flink的TableFactory
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 小李飞刀:SQL题目刷起来!
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • MyCAT水平分库
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #define、const、typedef的差别
  • #预处理和函数的对比以及条件编译
  • (7)svelte 教程: Props(属性)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (第一天)包装对象、作用域、创建对象
  • (黑马C++)L06 重载与继承
  • (六)Flink 窗口计算
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (四)React组件、useState、组件样式
  • (五)Python 垃圾回收机制
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)shell调试方法
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .dwp和.webpart的区别
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET4.0并行计算技术基础(1)
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .net开发日常笔记(持续更新)