数据库:SQL分类之DCL详解

1.管理用户

1.查询用户

use mysql ;

select * from user ;

2.创建用户

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

例:

复制代码
//创建用户itcast ,只能够在当前主机local host访问,密码123456
create user 'itcast'@'localhost' identified by '123456';

//创建用户itcasts ,可以在任意主机访问该数据库,密码123456
create user 'itcasts'@'%' identified by '123456';// %代表任意
3.修改用户密码

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

例:

复制代码
alter user 'itcast'@'local host' identified with mysql_native_password by '12345678' ;
4.删除用户

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

例:

复制代码
drop user 'itcast'@'local host' ;

注意:

  • 主机名可以用%通配
  • 这类SQL开发人员操作的比较少,主要是DBA(Database Administrator 数据库管理员)使用。

2.权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

|----------------------|------------|
| 权限 | 说明 |
| all , all privileges | 所有权限 |
| select | 查询数据 |
| insert | 插入数据 |
| update | 修改数据 |
| delete | 删除数据 |
| alert | 修改表 |
| drop | 删除数据库/表/视图 |
| create | 创建数据库/表 |

1.查询权限

show grants for '用户名 '@'主机名' ;

例:

复制代码
show grants for 'itcast'@'local host';
2.授予权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名' ;

例:

复制代码
grant all on itcast.* to 'itcast'@'local host';

3.撤销权限

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名' ;

例:

复制代码
revoke all on itcast.* from 'itcast'@'local host';

本期分享就到此结束啦,谢谢大家观看,我们下期再见!

相关推荐
Irene1991几秒前
大数据开发的常见实践:把 SQL 直接写在 Shell 脚本里 ER图 数据血缘
sql·数据血缘·er
川石课堂软件测试2 分钟前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
笃行35022 分钟前
国产化落地避坑 · 干货向|迁移后那条「测试能过、一上生产就查空」的 SQL,多半栽在 WHERE 函数顺序上
数据库
蓝田~1 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql
sunxunyong1 小时前
doris用户资源组配置
数据库
Cloud云卷云舒2 小时前
云卷云舒:HaishanDB的AI原生能力主要应用场景
数据库·人工智能·ai-native·haishandb·移动云长期记忆
时间的拾荒人2 小时前
MySQL 视图详解
android·数据库·mysql
qq_366086222 小时前
sql 查询中关于 null 值判断的问题
数据库·sql
测试修炼手册2 小时前
[测试技术] JUnit 6 入门与实战:断言、参数化与 Mockito
数据库·junit·sqlserver
吴声子夜歌3 小时前
Redis 3.x——集群故障转移
java·数据库·redis·集群