设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间02 现在时间02 缓存数据 你要知道这个世界上没有人会突然不爱你 只是你突然发现了而已

你要知道这个世界上没有人会突然不爱你 只是你突然发现了而已 -- 朗朗晴天

查看: 761|回复: 0

mysql删除无用用户的方法实现

[复制链接]

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:24
  • 打卡月天数:1
  • 打卡总奖励:326
  • 最近打卡:2025-07-06 00:21:54
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
332
主题
294
精华
0
金钱
1290
积分
682
注册时间
2023-2-11
最后登录
2025-7-6

发表于 2025-5-31 06:39:54 | 显示全部楼层 |阅读模式
1、删除不用的账户
  1. (1) 查看当前已存在账户
  2. mysql> select user,host,password  from  mysql.user; 或下面的命令
  3. #mysql> sELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  4. +---------------------------------------+
  5. | query                                 |
  6. +---------------------------------------+
  7. | User: 'root'@'127.0.0.1';             |   #不要删
  8. | User: 'wenqiang'@'172.16.1.%';        |
  9. | User: 'root'@'localhost';             |   #不要删
  10. | User: 'root'@'localhost.localdomain'; |
  11. +---------------------------------------+
  12. 4 rows in set (0.00 sec)

  13. mysql> drop user wenqiang@'172.16.1.%';     #删除不需要的用户



  14. (2) 授权用户时尽量不要使用%(该符号表示用户可以从任何地方都可以登陆)
  15. 授权格式:grant 权限 on 数据库.* to 用户名@用户所在网段 identified by "密码";
  16. #只允许root用户从10.0.0.10登陆mysql并授予全库访问权限,同时为root用户设置密码123456
  17. mysql> grant all on *.* to root@'10.0.0.10' identified by '123456';

  18. #这种情况是只授权,root用户可以使用空密码从本地登录
  19. mysql> grant all on *.* to root@'localhost';

  20. #这种情况是root用户可以从本地登录,同时设置密码abc123(root用户可以设置多套登录密码)
  21. mysql> grant all on *.* to root@'localhost' identified by 'abc123';
复制代码
3、如果不小心把’root’@‘localhost’; 的授权删掉,应该这样解决
  1. (1)这样登陆上去,并增加一条localhost的权限
  2. [root@localhost ~]# mysql -uroot -p -h 127.0.0.1  #通过127.0.0.1登录上去
  3. mysql> grant all on *.* to root@'localhost' identified by 'abc123';  #在增加一条localhost的授权
  4. mysql> flush privileges;

  5. 新增加的root用户可能没有最高权限,见第3.1
复制代码
3.1、当root用户无法给普通用户授权的时候
  1. (1)登录mysql
  2. [root@localhost ~]# mysql -uroot -p -h localhost
  3. mysql> grant all on *.* to root@'localhost' identified by '123456';        
  4. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) #报错

  5. (2)查看当前有哪些用户
  6. mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  7. +---------------------------------------+
  8. | query                                 |
  9. +---------------------------------------+
  10. | User: 'root'@'127.0.0.1';             |  #使用 mysql -uroot -p -h127.0.0.1登录mysql授权没问题
  11. | User: 'wenqiang'@'172.16.1.%';        |
  12. | User: 'root'@'localhost';             |  #我发现从localhost登录的root用户无法给普通用户授权
  13. | User: 'root'@'localhost.localdomain'; |
  14. +---------------------------------------+
  15. 4 rows in set (0.00 sec)

  16. (3)查看该root用户的Grant_priv选项是Y还是N(N表示无权给普通用户授权)
  17. mysql> select * from mysql.user where User='root' and Host='localhost'\G;
  18. *************************** 1. row ***************************
  19.                   Host: localhost
  20.                   User: root
  21.               Password: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
  22.            Select_priv: Y
  23.            Insert_priv: Y
  24.            Update_priv: Y
  25.            Delete_priv: Y
  26.            Create_priv: Y
  27.              Drop_priv: Y
  28.            Reload_priv: Y
  29.          Shutdown_priv: Y
  30.           Process_priv: Y
  31.              File_priv: Y
  32.             Grant_priv: N     #无授权权限
  33.        References_priv: Y
  34.             Index_priv: Y
  35.             Alter_priv: Y
  36.           Show_db_priv: Y
  37.             Super_priv: Y
  38. Create_tmp_table_priv: Y
  39.       Lock_tables_priv: Y
  40.           Execute_priv: Y
  41.        Repl_slave_priv: Y
  42.       Repl_client_priv: Y
  43.       Create_view_priv: Y
  44.         Show_view_priv: Y
  45.    Create_routine_priv: Y
  46.     Alter_routine_priv: Y
  47.           Create_user_priv: Y
  48.             Event_priv: Y
  49.           Trigger_priv: Y
  50. Create_tablespace_priv: Y
  51.               ssl_type:
  52.             ssl_cipher:
  53.            x509_issuer:
  54.           x509_subject:
  55.          max_questions: 0
  56.            max_updates: 0
  57.        max_connections: 0
  58.   max_user_connections: 0
  59.                 plugin: mysql_native_password
  60. authentication_string:
  61.       password_expired: N
  62. 1 row in set (0.00 sec)

  63. ERROR:
  64. No query specified

  65. (3)把Grant_priv选项的N改为Y就可以了
  66. mysql> update mysql.user set Grant_priv='Y' where User='root' and Host='localhost';
  67. Query OK, 1 row affected (0.00 sec)
  68. Rows matched: 1  Changed: 1  Warnings: 0
  69. mysql> flush privileges;
  70. Query OK, 0 rows affected (0.00 sec)

  71. (4)退出重新登录mysql,再次给普通用户授权(一定要先退出mysql)
  72. mysql> grant all on *.* to root@'localhost' identified by '123456';   
  73. Query OK, 0 rows affected (0.00 sec)
复制代码
到此这篇关于mysql删除无用用户的方法实现的文章就介绍到这了,更多相关mysql删除无用用户内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表