【SQL】SQL用户管理和权限

🎄 管理用户

  • 📢 用来管理数据库用户、控制数据库的访 问权限

⭐ 查询用户

  • 📢 mysql数据库中的user表中,存放了当前数据库中所有的用户和用户的权限
sql 复制代码
use mysql;
select * from user;
  • 📢 其中Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以远程访问的。User代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。

⭐创建用户

  • 📢 主机名可以使用% 通配。
sql 复制代码
create user '用户名'@'主机名' identified by '密码';

⭐修改用户密码

sql 复制代码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';

⭐删除用户

sql 复制代码
drop user '用户名'@'主机名';

⭐案例

☀ 创建用户itcast,只能够在当前主机localhost访问, 密码itcast;

  • 📢 但是没有分配权限会导致,查询不了任何数据库。
sql 复制代码
create user 'itcast'@'localhost' identified by 'itcast';

☀ 创建用户remote, 可以在任意主机访问该数据库, 密码remote;

sql 复制代码
create user 'remote'@'%' identified by 'remote';

☀ 修改用户remote的访问密码为1234;

sql 复制代码
alter user 'remote'@'%' identified with  mysql_native_password by '1234';

☀ 删除itcast@localhost 用户

sql 复制代码
drop user 'itcast'@'localhost';

🎄 权限控制

  • 📢 权限控制中每个不同数据库的权限可以分别单独设置。

⭐常用权限

权限 说明
ALL, ALL PRIVILEGES 所有权限
SELECT 查询数据
INSERT 插入数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除数据库 / 表 / 视图
CREATE 创建数据库 / 表

⭐查询权限

sql 复制代码
show grants for '用户名'@'主机名';

⭐授予权限

  • 📢 多个权限之间,使用逗号分隔
  • 📢 授权时, 数据库名和表名可以使用* 进行通配 ,代表所有。
sql 复制代码
grant 权限列表 on 数据库.表名 to '用户名'@'主机名';

⭐撤销权限

sql 复制代码
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

⭐案例

☀ 查询'remote'@'%' 用户的权限

sql 复制代码
show grants for 'remote'@'%' ;

☀ 授予'remote'@'%' 用户test数据库所有表的所有操作权限

sql 复制代码
grant all on test.* to 'remote'@'%';

☀ 撤销'remote'@'%' 用户的test数据库的所有权限

sql 复制代码
revoke all on test.* from 'remote'@'%';
相关推荐
架构源启5 小时前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取
java·人工智能·spring
Csvn6 小时前
📊 SQL 入门 Day 7:子查询 — 查询中的查询
后端·sql
2401_841495647 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
大模型码小白8 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
Hardworking6669 小时前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜9 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>9 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
音符犹如代码10 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·spring boot·guava
前端炒粉10 小时前
手撕小汇总
java·前端·javascript
wenb1n10 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言