MySQL用户创建和权限分配

MySQL用户创建和权限分配

用户创建

查看用户

select user,host from user;

创建用户

create user '用户名' @ 'host' identified by '密码';

删除用户

drop user '用户名' @ 'host';

更新host

update user set host = '%' where user = '用户名';

权限分配

查看权限

show grants;

查看某个用户权限

show grants for '用户名'@'host';

格式

GRANT ON 数据库名.表名 TO '用户名'@'localhost' [IDENTIFIED BY '密码'] [WITH GRANT OPTION];

参数

privileges:是一个用逗号分隔的你想要赋予的MySQL用户权限的列表

IDENTIFIED BY '密码' 也是可选的,如果带上,密码是当前用户的密码

WITH GRANT OPTION 是可选的,带上就意味着该用户可以给其他用户分配权限

示例

  1. 给用户 'xxx' 所有数据库所有表的所有权限(超级管理员,和 root 用户一样的权限)
    GRANT ALL ON . TO 'xxx'@'localhost' WITH GRANT OPTION;
  2. 给 'xxx' 用户 'xxxx'数据库下面所有表的查询和修改权限
    GRANT SELECT,UPDATE ON xxxx.* TO 'xxx'@'localhost';

回收权限

使用 REVOKE 把分配权限的 TO 改成 FROM 即可

REVOKE ON 数据库名.表名 FROM '用户名'@'localhost'

刷新数据库

FLUSH PRIVILEGES;

相关推荐
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
Java水解1 天前
Mysql查看执行计划、explain关键字详解(超详细)
后端·mysql
知其然亦知其所以然1 天前
MySQL 社招必考题:如何优化查询过程中的数据访问?
后端·mysql·面试
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
程序新视界1 天前
如何在MySQL中创建聚集索引?
mysql
AAA修煤气灶刘哥2 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
程序新视界2 天前
学习MySQL绕不开的两个基础概念:聚集索引与非聚集索引
mysql
RestCloud2 天前
跨境数据传输:ETL如何处理时区与日期格式差异
mysql·api
RestCloud2 天前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术2 天前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql