SQL-mysql用户权限管理
一 前言
本篇内容是关于MYSQL 数据库管理系统对数据库用户的权限相关的操作;学习本篇的基础是知识追寻者之前发布的MYSQL系列文章(公众号读者看专辑)
公众号:知识追寻者
知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)
二 用户操作
有关用户账号的信息储存mysql的MYSQL数据库,故如果需要查看用户信息,则需要进入MYSQL库;
2.2查看用户信息
user表储存了所有的登陆账号;使用mysql库查询user表中的user;
use mysql;
select `user` from user;
打印
user
----
root
mysql.session
mysql.sys
root
2.3 创建用户
CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码
示例:创建用户 zszxz ,并指定密码为 zszxz;
create user zszxz IDENTIFIED by 'zszxz';
2.4 重名名用户
rename user 旧的用户名 to 新的用户名;
示例重命名 用户 zszxz 为 lsc
rename user zszxz to lsc;
2.5 删除用户
drop user 用户名
示例:删除用户lsc
drop user lsc;
2.6 更改密码
SET PASSWORD FOR 用户名 = PASSWORD('密码')
示例: 为用户 zszxz 更改密码为 lsc
SET PASSWORD FOR zszxz = PASSWORD('lsc')
三 权限操作
3.1 查看用户权限
SHOW GRANTS FOR 用户名
示例: 查看用户zszxz 拥有的权限
SHOW GRANTS FOR zszxz
打印
Grant for zszxz@%
----------------
GRANT USAGE ON *.* TO 'zszxz'@'%'
查询出一条权限,但 USAGE 表示 根本没有权限;
3.2 授予权限
GRANT 权限 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] 'password']
常见的权限 all, create, drop, insert, update, delete,select;
示例 给用户zszxz 分配 zszxz 库中的所有表的查询权限;
grant select on zszxz.* to zszxz;
再看下 zszxz变成 2 条
Grant for zszxz@%
----------------
GRANT USAGE ON *.* TO 'zszxz'@'%'
GRANT SELECT ON `zszxz`.* TO 'zszxz'@'%'
3.3 撤销权限
REVOKE 权限列表 ON 表名 FROM 用户名
;
示例:撤销 用户 zszxz 对 zszxz库里面所有表的查询操作;
revoke select on zszxz.* from zszxz
3.4 权限列表
使用授权,撤销权限时可以参考如下权限列表;
ALL --- 除GRANT OPTION外的所有权限
ALTER ---使用ALTER TABLE
ALTER ROUTINE ---使用ALTER PROCEDURE和DROP PROCEDURE
CREATE ---使用CREATE TABLE
CREATE ROUTINE ---使用CREATE PROCEDURE
CREATE TEMPORARY TABLES ---使用CREATE TEMPORARY TABLE
CREATE USER ---使用CREATE USER、DROP USER、RENAME USER和REVOKE ALL PRIVILEGES
CREATE VIEW ---使用CREATE VIEW
DELETE ---使用DELETE
DROP ---使用DROP TABLE
EXECUTE ---使用CALL和存储过程
FILE ---使用SELECT INTO OUTFILE和LOAD DATA INFILE
GRANT OPTION ---使用GRANT和REVOKE
INDEX ---使用CREATE INDEX和DROP INDEX
INSERT ---使用INSERT
LOCK TABLES ---使用LOCK TABLES
PROCESS ---使用SHOW FULL PROCESSLIST
RELOAD ---使用FLUSH
REPLICATION CLIENT ---服务器位置的访问
REPLICATION SLAVE ---由复制从属使用
SELECT ---使用SELECT
SHOW DATABASES ---使用SHOW DATABASES
SHOW VIEW ---使用SHOW CREATE VIEW
SHUTDOWN ---使用mysqladmin shutdown(用来关闭MySQL)
SUPER ---使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER和SET GLOBAL。还允许mysqladmin调试登录
UPDATE ---使用UPDATE
USAGE ---无访问权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix