mysql删除无用用户的方法实现!
mysql删除无用用户的方法实现!
作者:会飞的爱迪生
本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
1、删除不用的账户
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
(1) 查看当前已存在账户mysql> select user,host,password from mysql.user; 或下面的命令#mysql> sELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; +---------------------------------------+| query |+---------------------------------------+| User: 'root'@'127.0.0.1'; | #不要删| User: 'wenqiang'@'172.16.1.%'; || User: 'root'@'localhost'; | #不要删| User: 'root'@'localhost.localdomain'; |+---------------------------------------+4 rows in set (0.00 sec)mysql> drop user wenqiang@'172.16.1.%'; #删除不需要的用户(2) 授权用户时尽量不要使用%(该符号表示用户可以从任何地方都可以登陆)授权格式:grant 权限 on 数据库.* to 用户名@用户所在网段 identified by "密码";#只允许root用户从10.0.0.10登陆mysql并授予全库访问权限,同时为root用户设置密码123456mysql> grant all on *.* to root@'10.0.0.10' identified by '123456'; #这种情况是只授权,root用户可以使用空密码从本地登录mysql> grant all on *.* to root@'localhost';#这种情况是root用户可以从本地登录,同时设置密码abc123(root用户可以设置多套登录密码)mysql> grant all on *.* to root@'localhost' identified by 'abc123'; |
3、如果不小心把’root’@‘localhost’; 的授权删掉,应该这样解决
|
1
2
3
4
5
6
|
(1)这样登陆上去,并增加一条localhost的权限[root@localhost ~]# mysql -uroot -p -h 127.0.0.1 #通过127.0.0.1登录上去mysql> grant all on *.* to root@'localhost' identified by 'abc123'; #在增加一条localhost的授权mysql> flush privileges;新增加的root用户可能没有最高权限,见第3.1 |
3.1、当root用户无法给普通用户授权的时候
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
(1)登录mysql[root@localhost ~]# mysql -uroot -p -h localhostmysql> grant all on *.* to root@'localhost' identified by '123456'; ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) #报错(2)查看当前有哪些用户mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;+---------------------------------------+| query |+---------------------------------------+| User: 'root'@'127.0.0.1'; | #使用 mysql -uroot -p -h127.0.0.1登录mysql授权没问题| User: 'wenqiang'@'172.16.1.%'; || User: 'root'@'localhost'; | #我发现从localhost登录的root用户无法给普通用户授权| User: 'root'@'localhost.localdomain'; |+---------------------------------------+4 rows in set (0.00 sec)(3)查看该root用户的Grant_priv选项是Y还是N(N表示无权给普通用户授权)mysql> select * from mysql.user where User='root' and Host='localhost'\G;*************************** 1. row ***************************Host: localhostUser: rootPassword: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9Select_priv: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: YDrop_priv: YReload_priv: YShutdown_priv: YProcess_priv: YFile_priv: YGrant_priv: N #无授权权限References_priv: YIndex_priv: YAlter_priv: YShow_db_priv: YSuper_priv: YCreate_tmp_table_priv: YLock_tables_priv: YExecute_priv: YRepl_slave_priv: YRepl_client_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: YCreate_user_priv: YEvent_priv: YTrigger_priv: YCreate_tablespace_priv: Yssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0max_updates: 0max_connections: 0max_user_connections: 0plugin: mysql_native_passwordauthentication_string: password_expired: N1 row in set (0.00 sec)ERROR: No query specified(3)把Grant_priv选项的N改为Y就可以了mysql> update mysql.user set Grant_priv='Y' where User='root' and Host='localhost';Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)(4)退出重新登录mysql,再次给普通用户授权(一定要先退出mysql)mysql> grant all on *.* to root@'localhost' identified by '123456'; Query OK, 0 rows affected (0.00 sec) |
到此这篇关于mysql删除无用用户的方法实现的文章就介绍到这了。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

