广告
返回顶部
首页 > 资讯 > 数据库 >mysql如何彻底删除用户
  • 261
分享到

mysql如何彻底删除用户

2024-04-02 19:04:59 261人浏览 独家记忆
摘要

小编给大家分享一下Mysql如何彻底删除用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 之前碰

小编给大家分享一下Mysql如何彻底删除用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

之前碰到 一个奇怪问题,删除了mysql.user里面的某个用户后,flush privileges后,在建同样的用户后,发现权限不对...后来才发现.是mysql.db在作怪;
大致讲下,在删除某个用户对某个库的的insert权限后,删除该用户,flush privileges后,在建同样名字和host的用户,给予相同库或其他库的update权限,结果发现,之前删除的insert权限又出现了.
原因是在mysql.db里面有存储对数据库的操作权限,虽然在mysql.user里面删除了用户,但并没有把权限删除.所以mysql在加载用户权限的时候,会去加载之前未删除的权限.如果是给的*.* 权限...不会记录到db表,没搞懂为什么,继续研究...
大致测了一下.如下:

如果授权是*.*,并不会记录到mysql.db表中,如下例:
mysql> grant select on *.* to tes222@'%' identified by '1111111';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from db where user ='tes222';
Empty set (0.00 sec)

mysql> grant delete on *.* to tes222@'%';
Query OK, 0 rows affected (0.05 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from db where user ='tes222';
Empty set (0.00 sec)






如果授权是固定的库名,就会记录:


mysql> grant delete on test.* to tes222@'%';        
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from db where user ='tes222';
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db   | User   | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| %    | test | tes222 | N           | N           | N           | Y           | N           | N         | N          | N               | N          | N          | N                     | N                | N                | N              | N                   | N                  | N            | N          | N            |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
1 row in set (0.00 sec)

mysql> delete from mysql.user where user ='tes222';
Query OK, 1 row affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from db where user ='tes222';     
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db   | User   | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| %    | test | tes222 | N           | N           | N           | Y           | N           | N         | N          | N               | N          | N          | N                     | N                | N                | N              | N                   | N                  | N            | N          | N            |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
1 row in set (0.00 sec)

mysql> grant insert on test.* to tes222@'%' identified by '111333';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql>
mysql>
mysql> select * from db where user ='tes222';
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db   | User   | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| %    | test | tes222 | N           | Y           | N           | Y           | N           | N         | N          | N               | N          | N          | N                     | N                | N                | N              | N                   | N                  | N            | N          | N            |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
1 row in set (0.00 sec)

mysql> show grants for tes222@'%';
+-------------------------------------------------------------------------------------------------------+
| Grants for tes222@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'tes222'@'%' IDENTIFIED BY PASSWord '*5EB462FE941D41EF8FAB7467C66B5CEC646731A2' |
| GRANT INSERT, DELETE ON `test`.* TO 'tes222'@'%'                                                      |
+-------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

通过revoke后,在mysql.db里面不存在数据了.

mysql> show grants for tes222@'%';
+-------------------------------------------------------------------------------------------------------+
| Grants for tes222@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'tes222'@'%' IDENTIFIED BY PASSWORD '*5EB462FE941D41EF8FAB7467C66B5CEC646731A2' |
| GRANT INSERT, DELETE ON `test`.* TO 'tes222'@'%'                                                      |
+-------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql>
mysql>
mysql>
mysql> revoke delete on test.* from tes222@'%';      
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.db where user ='tes222';
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db   | User   | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| %    | test | tes222 | N           | Y           | N           | N           | N           | N         | N          | N               | N          | N          | N                     | N                | N                | N              | N                   | N                  | N            | N          | N            |
+------+------+--------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
1 row in set (0.00 sec)

mysql> revoke all privileges on test.* from tes222@'%';        
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.db where user ='tes222';
Empty set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for tes222@'%';            
+-------------------------------------------------------------------------------------------------------+
| Grants for tes222@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'tes222'@'%' IDENTIFIED BY PASSWORD '*5EB462FE941D41EF8FAB7467C66B5CEC646731A2' |
+-------------------------------------------------------------------------------------------------------+


所以,个人建议是,如果要彻底删除用户权限,还是先revoke,然后在delete用户表mysql.user

以上是“mysql如何彻底删除用户”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: mysql如何彻底删除用户

本文链接: https://www.lsjlt.com/news/62310.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql如何彻底删除用户
    小编给大家分享一下mysql如何彻底删除用户,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 之前碰...
    99+
    2022-10-18
  • 如何彻底删除mysql服务
    如何彻底删除mysql服务?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!彻底删除mysql服务的步骤:1、关闭mysql服...
    99+
    2022-10-18
  • 如何在MacBook上彻底删除mysql
    好久以前安装过,但是现在配置mysql一直出错,索性全部删掉重新配置。 一、停止MySQL服务 首先,请确保 MySQL 服务器已经停止运行,以免影响后续的删除操作。 sudo /usr/local/mysql/support-files/...
    99+
    2023-10-08
    mysql 数据库
  • Linux系统彻底删除Mysql
    这是我之前安装的mysql5.7,然后想换成mysql8.0就有这篇,差不多跟着操作应该可以删除干净。 一、你要先查询你是否安装了mysql(我的linux是centos7的) rpm -qa | grep -i mysql  二、关闭...
    99+
    2023-09-03
    mysql 数据库
  • 如何彻底删除nodejs
    本篇内容介绍了“如何彻底删除nodejs”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文操作环境:Win...
    99+
    2022-10-19
  • navicat如何彻底删除
    这篇文章给大家分享的是有关navicat如何彻底删除的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。卸载点开windows设置,选择应用,找道navicat,点击选择卸载。这是卸载...
    99+
    2022-10-18
  • 如何彻底删除Vue
    Vue是现今最受欢迎的JavaScript库之一,它具有灵活性、高效性和易于使用的特点。然而,有时候我们会需要删除Vue库,可能因为我们想切换到其他框架,或是因为我们不再需要Vue的特性。本文将介绍如何彻底删除Vue。首先,如果你是用npm...
    99+
    2023-05-14
  • 如何彻底删除windows.old
    本文小编为大家详细介绍“如何彻底删除windows.old”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何彻底删除windows.old”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。彻底删除windows.o...
    99+
    2023-07-01
  • 如何彻底删除uniapp应用
    随着移动应用的普及,越来越多的人开始使用uniapp开发自己的应用程序。然而,在使用uniapp开发应用的过程中,总会遇到一些问题,例如应用程序无法正常运行、应用程序过于占用存储空间等等。针对这些问题,有时候不得不考虑卸载应用程序。但是,不...
    99+
    2023-05-14
  • unbuntu彻底删除mysql的案例
    小编给大家分享一下unbuntu彻底删除mysql的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、使用“sudo ...
    99+
    2022-10-18
  • 彻底删除MySQL步骤介绍
    目录1、先停止 MySQL Server2、卸载 MySQL Server3、删除 MySQL 文件夹4、删除注册表1、先停止 MySQL Server 步骤:此电脑 ——> ...
    99+
    2022-11-12
  • mac如何彻底删除windows
    要彻底删除Windows系统,您可以按照以下步骤进行操作:1. 备份您的重要文件:在删除Windows之前,确保将您的重要文件备份到...
    99+
    2023-10-18
    mac windows
  • macbook如何彻底删除python
    一、删除python所在环境 你需要删除的东西有三,一是Library中的python(即环境变量),二是Application中的python,三是清除指向python的链接。故步骤分为如下三步: ...
    99+
    2023-10-24
    linux 运维 服务器
  • ubuntu如何彻底删除php7.0
    本文操作环境:ubuntu 18.04系统、php 7.0、thinkpad t480电脑。ubuntu系统彻底删除php的步骤如下所示:一、删除php的相关包及配置sudo apt-get autoremove php7*二、删除关联su...
    99+
    2015-01-29
    ubuntu php
  • 如何彻底删除weblogic域
    要彻底删除WebLogic域,需要执行以下步骤: 停止所有WebLogic服务器实例:在每台服务器上运行/bin/stopWeb...
    99+
    2023-10-25
    weblogic
  • 如何彻底删除MSN Messenger
    操作步骤: Windows XP,开始-->运行-->输入"RunDll32 advpack.dll,LaunchINFSection %windir%\INF;,按回车键后,在打开的对话框中单击“...
    99+
    2023-05-23
    MSN Messenger
  • 怎么彻底删除mysql数据库
    要彻底删除MySQL数据库,需要执行以下步骤:1. 进入MySQL命令行界面,可以使用以下命令登录:```mysql -u root...
    99+
    2023-08-16
    mysql数据库
  • 彻底删除mysql服务的方法
    小编给大家分享一下彻底删除mysql服务的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言由于安装某个项目的执行文件,提示要卸载MySQL以便它自身MySQL安装,然后我禁用了MYS...
    99+
    2022-10-18
  • win102345文件如何彻底删除
    今天小编给大家分享一下win102345文件如何彻底删除的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win102345文件...
    99+
    2023-07-01
  • 如何彻底删除Github账号
    Github是全球最大的开源社区之一,吸引了来自世界各地的开发者和用户。Github并不需要收取费用就可以使用,可以创建项目和代码片段、参加各种开源项目等。但有些用户可能会因为某些原因想删除Github账号,本文将介绍如何彻底删除Githu...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作