MySQL的用户管理以及权限设置

用户管理

账户管理

我们在数据库里面创建用户,修改用户,删除用户,本质上就是对mysql数据库下的user表进行增删查改,用户的所有信息都存在这张表里,我们想要创建用户可以往user表insert,删除用户可以delete这个user表的数据,但是数据库单独支持了一套对用户管理的语法。

创建用户

create user '用户名'@'登陆主机/ip' identified by '密码';

这个ip地址如果想让用户在所有主机都能登录可以使用 %,但是一般不会这么干。

删除用户

drop user '用户名'@'主机名';

修改用户密码

set password=password('新的密码');删除自己用户的密码

set password for '用户名'@'主机名'=password('新的密码');删除别的 用户的密码,不过需要拥有足够的权限,一般是root账户使用。

权限管理

我们创建好普通账户之后,还需要给这个账户匹配的权限,就是想让这个账户干什么,不想让它干什么,通过权限来约束这个账户。

创建权限

回收权限

revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

如果发现执行权限操作没有立马生效,执行flush privileges;

权限列表

  • SELECT: 允许用户查询(检索)数据库中的数据。
  • INSERT: 允许用户向数据库中的表插入新的数据。
  • UPDATE: 允许用户修改数据库中表中已存在的数据。
  • DELETE: 允许用户从表中删除数据。
  • CREATE: 允许用户创建新的数据库或表。
  • DROP: 允许用户删除数据库或表。
  • ALTER: 允许用户修改数据库或表的结构。
  • GRANT OPTION: 允许用户将他们拥有的权限授予其他用户。
  • CREATE TEMPORARY TABLES: 允许用户创建临时表,这些表在当前会话结束时会被销毁。
  • CREATE VIEW: 允许用户创建视图。
  • SHOW VIEW: 允许用户执行 SHOW CREATE VIEW 来查看视图的创建语句。
  • CREATE ROUTINE: 允许用户创建存储过程或函数。
  • ALTER ROUTINE: 允许用户修改存储过程或函数。
  • EXECUTE: 允许用户执行存储过程。
  • FILE: 允许用户执行文件操作,如 LOAD DATA INFILE 和 SELECT...INTO OUTFILE。
  • PROCESS: 允许用户查看当前运行的进程。
  • REFERENCES: 允许用户创建外键。
  • RELOAD: 允许用户执行 FLUSH 语句,重新加载权限表等。
  • SHUTDOWN: 允许用户执行 SHUTDOWN 语句。
  • SUPER: 允许用户执行一些超级用户级别的操作,如更改服务器参数或关闭服务器。
相关推荐
PaperData1 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn1 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt2 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行3502 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
Ivanqhz3 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
java1234_小锋4 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据类型简介
数据库·mysql
知行EDI4 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
成旭先生4 小时前
【2026】企业信息模糊查询 API 实战:名称、注册号、统一社会信用代码、企业类型与法人一次查全
服务器·数据库·数据服务
JosieBook5 小时前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
我叫洋洋5 小时前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路