news 2026/4/28 18:39:51

mysql的用户权限总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mysql的用户权限总结

mysql的用户权限总结

一、权限级别 :

1、全部权限:可以控制对所有数据库的访问权限,权限信息主要保存在系统表mysql.user中;
2、数据库级别权限:可以控制对指定数据库的访问权限,权限信息主要保存在系统表mysql.db中;
3、数据库对象级别权限:可以控制对指定数据库对象,比如表、存储过程或列的访问权限,权限信息主要保存在系统表mysql.xxx/_priv中;
权限的优先级是:user > db > xxx/_priv,也就是说如果user表中有权限就以user表的权限为准,如果user表没有权限再看db表的权限,如果db表有权限就以db表的权限为准,如果db表没有权限才看具体的xxx/_priv表的权限。

二、权限分类:

权限说明
All、All Privileges全部数据库的所有权限
Usage是创建一个用户之后的默认权限,包括连接、登录权限。该权限不能被回收,即使使用REVOKE
Select允许从表中查看数据,某些不查询表数据的select执行则不需要此权限,如Select 1+1, Select PI()+2;而且select权限在执行update/delete语句中含有where条件的情况下也是需要的
Insert允许在表里插入数据,同时在执行analyze table,optimize table,repair table,create user语句的时候也需要Insert权限
Update允许修改表中的数据的权限
Delete允许删除行数据的权限
Create允许创建数据库和表的权限
Drop允许删除数据库、表、视图的权限,包括truncate table命令
Reload允许执行flush命令,指明重新加载权限表到系统内存中,refresh命令代表关闭和重新开启日志文件并刷新所有的表
Shutdown允许关闭数据库实例,执行语句包括mysqladmin shutdown
Process允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令。默认每个用户都可以执行show processlist命令,但是只能查询本用户的进程
File允许在MySQL可以访问的目录进行读写磁盘文件操作,可使用的命令包括load data infile、select … into outfile、load file()函数
Grant允许此用户授权或者收回给其他用户授予的权限,重新赋给管理员的时候需要加上这个权限
Reference允许创建外键
Index允许创建和删除索引
Alter允许修改表结构的权限,但必须要有Create和Insert权限配合。如果是rename表名,则要求有Alter和Drop原表,Create和Insert新表的权限
Show databases允许通过执行show databases命令查看所有的数据库名
Super允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令,change master to创建复制关系命令,以及create/alter/drop server等命令
Create temporary tables允许创建临时表的权限
Lock tables允许对拥有Select权限的表进行锁定或解锁,以防止其他链接对此表的读或写
Execute允许执行存储过程和函数的权限
Replication slave允许slave主机通过此用户连接master以便建立主从复制关系
Replication client允许执行show master status,show slave status,show binary logs命令
Create view允许创建视图的权限
Show view允许通过执行show create view命令查看视图创建的语句
Create routine允许创建存储过程、函数的权限,当授予此权限时会自动授予Execute和Alter routine权限
Alter routine允许修改或者删除存储过程、函数的权限
Create user允许创建、修改、删除、重命名user的权限
Event允许查询、创建、修改、删除MySQL事件
Trigger允许创建、删除、执行、显示触发器的权限
Create tablespace允许创建、修改、删除表空间和日志组的权限
Host字段用来限制允许从哪些IP请求连接数据库,localhost表示只能服务器本地连接。可以使用通配符%或/_,%表示任意数量的字符,/_表示单个字符。User字段用来指定哪些用户可以连接数据库,''表示任意用户。

三、常用命令:

1、查看指定用户的授权信息:

show grants for root@localhost;

2、查看指定用户的非授权信息:

show create user root@localhost;

3、创建授权用户:

create user 'user'@'localhost' identified by 'user@123' account lock;

4、删除授权用户:

drop user 'user'@'localhost';

5、修改指定授权用户密码有4种方式:

alter user 'user'@'localhost' identified by 'user@123'; set password for 'user'@'localhost' = PASSWORD('user@123'); grant all privileges on dbname.tablename to 'user'@'localhost' identified by 'user123'; mysqladmin -u user -h host_name password "user@123"

6、修改当前登录用户的密码:

alter user USER() identified by 'user@123'; set PASSWORD = PASSWORD('user@123');

7、设置授权用户密码过期策略:

alter user 'user'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY; //90天过期 alter user 'user'@'localhost' PASSWORD EXPIRE NEVER; //密码不过期 alter user 'user'@'localhost' PASSWORD EXPIRE DEFAULT; //默认过期策略 alter user 'user'@'localhost' PASSWORD EXPIRE; //强制用户密码过期

8、创建授权用户并给该用户指定数据库中的指定的表进行授权:

grant all privileges on dbname.tablename to 'user'@'localhost' identified by 'user123';

9、 给指定用户授权指定列的权限,该权限可以向下继续授予:

grant select(id) on dbname.tablename to 'user'@'localhost' with grant option;

10、 允许指定用户对指定数据库的表的权限可以向下继续授予:

grant grant option on dbname.tablename to 'user'@'localhost';

11、 收回指定用户的指定权限:

revoke select on dbname.tablename from 'user'@'localhost';

参考:https://blog.csdn.net/wulantian/article/details/38230635
https://www.cnblogs.com/keme/p/10288168.html

《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

8e26034045b97ae8ac36b2a650.png)

以上资料如何领取?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 18:20:24

手把手教你写出优雅高效的SQL:从入门到精通

作为程序员,SQL几乎是每天都要打交道的语言。但你真的会写SQL吗?很多人能写出来,却写不好——性能差、可读性差、难以维护。本文将带你从零开始,系统掌握SQL编写的最佳实践,涵盖基础语法、高级查询、性能优化、常见陷阱…

作者头像 李华
网站建设 2026/4/28 18:20:22

面试必备:LeetCode HOT 100 分类刷题指南

如今的互联网大厂面试,算法是绕不开的一关。对于时间紧迫的求职者来说,盲目刷题无异于大海捞针。正确的做法是先做对题——而LeetCode HOT 100,就是这把打开算法面试大门的钥匙。一、HOT 100 是什么?LeetCode HOT 100(…

作者头像 李华