MySQL用户权限管理完全指南:从查看到授权的详细教程
创作时间:
作者:
@小白创作中心
MySQL用户权限管理完全指南:从查看到授权的详细教程
引用
1
来源
1.
https://m.jb51.net/database/318148q0l.htm
MySQL的用户权限管理是数据库安全的重要组成部分。本文将详细介绍MySQL的权限级别、查看用户权限的方法,以及如何进行权限的授予和回收。通过本文,读者将能够掌握MySQL用户权限管理的核心知识,确保数据库的安全性和可用性。
一、MySQL权限级别介绍
MySQL的权限可以分为以下几个级别:
- 全局:可以管理整个MySQL服务器
- 库:可以管理指定的数据库
- 表:可以管理指定数据库的指定表
- 字段:可以管理指定数据库的指定表的指定字段
这些权限信息存储在mysql
库的以下系统表中:
user
db
tables_priv
columns_priv
procs_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权限管理的核心知识,确保数据库的安全性和可用性。
热门推荐
湛江气候揭秘:热带还是亚热带?
探访牡丹江唐代渤海国遗址,揭秘千年文明
镜泊湖:火山喷发造就的自然奇迹
牡丹江冬日摄影攻略:镜泊湖、雪乡、横道河子最佳拍摄点详解
镜泊湖风景区:牡丹江不可错过的打卡圣地
低糖健康餐新宠:燕麦鸡胸紫薯
糖尿病饮食管理:主食真的不能吃?
糙米控糖法:血糖高者的健康之选
血糖高者的健康食谱大揭秘!
提高免疫力,分享给您10个小妙招
和平精英暗夜危机:无敌卡点攻略
《和平精英》暗夜危机模式评测:丧尸来袭,你敢挑战吗?
考研党必备:备考期间如何保持身体健康?
GMAT考试:高效缓解考试焦虑的利器
王阳明PK朱熹:谁更能拯救你的灵魂?
王阳明心学:从致良知到心理健康的现代实践
王阳明心学:挑战程朱理学的革新者
王阳明心学PK程朱理学,谁更能打?
王阳明诗词里的“心学”智慧
燕双鹰角色塑造的秘密:钱雁秋的创意之路
燕双鹰VS李向阳:两位抗日英雄的异与同
海南热带雨林国家公园游玩全攻略
五指山的冬日“枫”情:海南热带雨林的别样浪漫
五指山热带雨林景区门票优惠大放送!
冬季室内低氧,如何保护家人健康?
氧气浓度变化,你的呼吸系统还好吗?
吃奥利司他胶囊对身体有害吗
碳酸钙:土壤改良的秘密武器
合肥二日游最佳安排
皮肤科疾病的预防控制与公共卫生工作