MySQL授权和查看授予用户的权限

查看用户被授予了那些权限

1、查看已经授权的用户
1
mysql> select user,host from mysql.user;
1
2
3
4
5
6
7
8
9
10
11
+--------------+-------------+
| user | host |
+--------------+-------------+
| program_conn | 192.168.1.% |
| repl | 192.168.2.% |
| cron_task | 192.168.4.% |
| devops | 192.168.9.1 |
| logic_backup | localhost |
| root | localhost |
+--------------+-------------+
6 rows in set (0.01 sec)
2、查看用户被授予了什么权限
1
mysql> select * from mysql.user where user='repl' \G;
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
*************************** 1. row ***************************
Host: 192.168.2.%
User: repl
Password: *9AB146EF1A4E7CE674E46E119D421D67EDD716C3
Select_priv: N
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: N
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: Y
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)

这里可以看出,repl用户只被授予了Repl_slave_priv权限

3、查看授权的命令
1
mysql> show grants for repl@'192.168.2.%';
1
2
3
4
5
6
+---------------------------------------------------------------------------------------------------------------------------+
| Grants for repl@192.168.2.% |
+---------------------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.2.%' IDENTIFIED BY PASSWORD '*9AB146EF1A4E7CE674E46E119D421D67EDD716C3' |
+---------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

MySQL授权

用户权限管理主要有以下作用:

1
2
3
4
1、限制用户访问哪些库、哪些表 
2、以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作
3、可以限制用户登录的IP或域名
4、可以限制用户自己的权限是否可以授权给别的用户

一、授权

1
mysql> grant all privileges on *.* to 'nongkaige'@'%' identified by 'nongkaige123456' with grant option;

参数说明:

1
2
3
4
5
1、all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等,下边会给出一个权限表。
2、on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
3、to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
4、identified by:指定用户的登录密码
5、with grant option:表示允许用户将自己的权限授权给其它用户

可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。

授权列表如下,详情请参考官网:
https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html

二、刷新权限

对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。

1
mysql> flush privileges;

三、回收权限

删除nognkaige这个用户的create权限,该用户将不能创建数据库和表

1
2
mysql> revoke create on *.* from 'nongkaige@localhost';
mysql> flush privileges;

四、删除用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> select user,host from mysql.user;
+---------------+---------+
| host | user |
+---------------+---------+
| % | root |
| % | test3 |
| % | yx |
| 192.168.0.% | root |
| 192.168.0.% | test2 |
| 192.168.0.109 | test |
| ::1 | nongkaige |
| localhost | nongkaige |
+---------------+---------+
8 rows in set (0.00 sec)
1
mysql> drop user 'nongkaige'@'localhost';

五、用户重命名

1
rename user 'test3'@'%' to 'test1'@'%';

六、修改密码

方法1: 用SET PASSWORD命令

首先登录MySQL。

1
2
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
1
2
格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表

首先登录MySQL。

1
2
3
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
博主QQ:1012405802
技术交流QQ群:830339411
版权声明:网站内容有原创和转载,如有侵权,请联系删除,谢谢!!
感谢打赏,93bok因你们而精彩!!(支付宝支持花呗)
0%