MySQL用户权限管理完全指南:从查看到授权的详细教程
创作时间:
作者:
@小白创作中心
MySQL用户权限管理完全指南:从查看到授权的详细教程
引用
1
来源
1.
https://m.jb51.net/database/318148q0l.htm
MySQL的用户权限管理是数据库安全的重要组成部分。本文将详细介绍MySQL的权限级别、查看用户权限的方法,以及如何进行权限的授予和回收。通过本文,读者将能够掌握MySQL用户权限管理的核心知识,确保数据库的安全性和可用性。
一、MySQL权限级别介绍
MySQL的权限可以分为以下几个级别:
- 全局:可以管理整个MySQL服务器
- 库:可以管理指定的数据库
- 表:可以管理指定数据库的指定表
- 字段:可以管理指定数据库的指定表的指定字段
这些权限信息存储在mysql库的以下系统表中:
userdbtables_privcolumns_privprocs_priv
当MySQL实例启动时,这些权限信息会被加载到内存中。
二、查看用户权限
查看所有用户
要查看所有用户的用户名和主机信息,可以使用以下SQL命令:
SELECT user, host FROM mysql.user;
查看单个用户详细信息
要查看单个用户的详细信息,可以使用以下SQL命令:
SELECT * FROM mysql.user WHERE user='root'\G
\G相当于;,但会使每个字段打印到单独的行,便于阅读。
用户信息
Host:%表示允许所有主机连接User: 用户名authentication_string: 用户密码(MD5加密)
授权信息
Select_priv: 是否可以使用SELECT命令选择数据Insert_priv: 是否可以使用INSERT命令插入数据Update_priv: 是否可以使用UPDATE命令修改数据Delete_priv: 是否可以使用DELETE命令删除数据Create_priv: 是否可以创建新的数据库和表Drop_priv: 是否可以删除现有数据库和表Reload_priv: 是否可以执行刷新和重新加载MySQL缓存的命令Shutdown_priv: 是否可以关闭MySQL服务器Process_priv: 是否可以查看进程File_priv: 是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令Grant_priv: 是否可以将权限授予其他用户References_priv: 目前没有实际作用Index_priv: 是否可以创建和删除表索引Alter_priv: 是否可以重命名和修改表结构Show_db_priv: 是否可以查看所有数据库的名字Super_priv: 是否可以执行某些强大的管理功能Create_tmp_table_priv: 是否可以创建临时表Lock_tables_priv: 是否可以使用LOCK命令锁定表Execute_priv: 是否可以执行存储过程Repl_slave_priv: 是否可以读取二进制日志文件Repl_client_priv: 是否可以确定复制从服务器和主服务器的位置Create_view_priv: 是否可以创建视图Show_view_priv: 是否可以查看视图Create_routine_priv: 是否可以更改或放弃存储过程和函数Alter_routine_priv: 是否可以修改或删除存储函数及函数Create_user_priv: 是否可以执行CREATE USER命令Event_priv: 是否可以创建、修改和删除事件Trigger_priv: 是否可以创建和删除触发器Create_tablespace_priv: 是否可以创建表的空间
三、授权
每次更新权限后,需要刷新权限:
FLUSH PRIVILEGES;
授权格式
GRANT
[权限]
ON [库.表]
TO [用户名]@[IP]
IDENTIFIED BY [密码]
# WITH GRANT OPTION;
GRANT命令说明
ALL PRIVILEGES: 表示所有权限ON: 指定权限针对的库和表*.*: 表示所有数据库和所有表TO: 表示将权限赋予某个用户@: 前面表示用户,后面接限制的主机IDENTIFIED BY: 指定用户的登录密码WITH GRANT OPTION: 表示该用户可以将自己拥有的权限授权给别人
全局授权
将root用户的主机限制改为任意主机:
UPDATE mysql.user SET Host='%' WHERE User='root';
FLUSH PRIVILEGES;
也可以新建一个用户并赋予全部权限:
GRANT
ALL PRIVILEGES
ON *.*
TO admin@'175.155.59.133'
IDENTIFIED BY 'admin';
单个数据库授权
只给175.155.59.133这个IP赋予ctrip数据库的查询权限:
GRANT
select
ON ctrip.*
TO ctrip@'175.155.59.133'
IDENTIFIED BY 'ctrip';
单个数据库单个表授权
只给175.155.59.133这个IP赋予ctrip数据库的t_plane表的查询权限:
GRANT
select
ON ctrip.t_plane
TO ctrip@'175.155.59.133'
IDENTIFIED BY 'ctrip';
单个数据库单个表某些字段授权
只给175.155.59.133这个IP赋予ctrip数据库的t_plane表的id和EN字段的查询权限:
GRANT
select(id,EN)
ON ctrip.t_plane
TO ctrip@'175.155.59.133'
IDENTIFIED BY 'ctrip';
四、收回权限、删除用户
收回权限
格式:
REVOKE
[权限]
ON [库.表]
FROM [用户名]@[IP];
操作示例:
REVOKE
select(id,EN)
ON ctrip.t_plane
FROM ctrip@'175.155.59.133';
删除用户
格式:
DROP USER [用户名]@[IP];
操作示例:
DROP USER ctrip@'175.155.59.133';
以上就是MySQL用户权限管理的详细教程,通过本文,读者可以全面掌握MySQL权限管理的核心知识,确保数据库的安全性和可用性。
热门推荐
2008年以前的学位证如何在学信网上查询?
日常塑料划分
间质性肺炎的症状及诊断要点
轮胎扎钉后该换还是补?90%车主都错了!
赋能千行百业 扬州加快推动北斗规模化应用
什么是QoS
凨凪凮夙怎么读:fēng zhǐ fēng sù,这个词语背后的文化内涵
小脑梗死是否可能引发脑水肿?专家权威解答
和田玉与黑曜石的搭配使用:如何正确佩戴以发挥更佳效果?
高血压患者的日常用药注意事项
“岳母”如厕被遗忘,乐广高速路政伸援手助会合
无叶风扇是智商税吗?提防五大弊端副作用
眼睛痒、鼻塞流涕、咳嗽、皮疹……这些症状都可能是过敏反应
弥可保的副作用和危害是什么
PLK-AL10刷机教程(PLK-AL10刷机方法详解,让你的手机焕然一新!)
告别纸质处方,“双通道”药品步入“电子处方”时代
生育压力大到抑郁症怎么办
这些火车票,你用过哪一个
门窗标准尺寸介绍 举例说明
手机屏幕刷新率60Hz和120Hz的区别
深度学习系列--03.激活函数
完美主义不健康也不可持续,卓越才是目标
3D数据可视化,B/S和C/S架构该如何选择?
藻油与鱼油哪个更适合你?差异、优缺点比较、摄取方法全解析
2024深圳地铁线路图:17条线路+票价优惠全攻略
牧神记-动漫新作排行榜的璀璨之星
医疗质量管理办法怎么落实?
156万买续命药,60万打干细胞,富豪们为了“续命”斥巨资!
交警开罚单要有证据吗?——法律视角下的执法规范与证据要求
推拿的介质有哪些