一般Windows登录的都是管理员,效果和sa一样
1.创建登录(login)/在哪数据库下无所谓/

create login p1 with password ='1' /* 登录名 密码*/
create login p2 with password ='1' /* 登录名 密码*/
create login p3 with password ='1' /* 登录名 密码*/
create login p4 with password ='1' /* 登录名 密码*/
create login p5 with password ='1' /* 登录名 密码*/
create login p6 with password ='1' /* 登录名 密码*/
create login p7 with password ='1' /* 登录名 密码*/
/*这样创建的账户是没有数据库的使用权限的*/

2.创建用户(user)/一定要指明是哪个数据库/

create user u1 for login p1 /*只是提供了切换到某个数据库的权限,没有操作(增删改查)的权限*/
create user u2 for login p2
create user u3 for login p3
create user u4 for login p4
create user u5 for login p5
create user u6 for login p6
create user u7 for login p7

3.存取控制 grant和revoke
4.把查询student表的权限授给用户u1/接受授权的一定是用户/

grant select
on student /*标准语法应为 on table student 有table,考试当中table可写可不写*/
to u1    /*把使用student的权限授给用户u1*/

5.把student表和course表的全部权限授予用户u2和u3

grant all privileges
on student  /*SQL中不允许对多个表进行授权,标准语法中是可以的*/
to u2,u3
/*ALL 权限已不再推荐使用,并且只保留用于兼容性目的。
它并不表示对实体定义了 ALL 权限。*/

6.把对SC的查询权限授予所有用户,这个操作也影响新创建的用户

grant select
on SC
to public

7.把查询student表和修改学生学号的权限授给用户u4

grant select,update(sno)
on student
to u4

8.把对表SC的insert权限授给u5,并允许将此权限再授予其他用户

grant insert  /*SQL中要想insert前提是具有select权限,所以也同时授予了select权限*/
on sc
to u5
with grant option /*u5还可以给其他用户授权*/
/*insert的时候主码必须授权,否则无法插入(主属性非空)*/

回收

1.把用户u4修改学生学号的权限收回

revoke update
on student
from u4

2.收回所有用户查找sc的权限

revoke select
on sc
from public

3.把用户u5对标sc的insert权限收回

revoke insert
on sc
from u5
cascade/*级联收回,同时收回了u5给u6的权限,u6给u7的权限*/

数据库角色

被命名的一组与数据库操作相关的权限

  • 角色是权限的集合
  • 把用户加入角色,即拥有了相应的权限
  • 简化了授权的过程

1.通过角色来实现将一组权限授予一个用户
1)创建角色

create role r1

2)将权限授予角色

grant insert,update,select
on sc
to r1

3)将角色授权给用户

grant r1
to u1,u2/*这是标准,但是在这里不适用*/--sp开头的都是系统提供的
--此处使用这种授权方式
exec sp_addrolemember r1,u1
--将角色从用户收回
exec sp_droprolemember r1,u1

【数据库】数据库安全(授权,回收)相关推荐

  1. MySQL数据库用户管理以及数据库用户授权

    目录 一.数据库用户管理 1.新建用户 2.查看用户信息 3.重命名用户 4.删除用户 5.修改当前登录用户密码 6.修改其他用户密码 7.忘记 root 密码的解决办法 7.1 修改 /etc/my ...

  2. MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  3. mysql新建库和用户linux_Linux环境 Mysql新建用户和数据库并授权

    Linux环境 Mysql新建用户和数据库并授权 发布时间:2020-04-28 21:03:50 来源:51CTO 阅读:1878 作者:dnuser #mysql -u root -p 2.新增用 ...

  4. mysql 对库中表授权_对mysql数据库的授权和使用AND案例

    对mysql数据库的授权和使用 权限: create user 'guest'@'ip地址' identified by '123' //ipconfig 授权: grant 权限的具体使用 on.t ...

  5. mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  6. 13数据库表空间回收

    13数据库表空间回收 问题,我的数据库占用空间太大,把一个最大的表删掉了一半的数据,怎么表的文件大小还是没有变? 一个innodb表包含表结构定义和数据,在mysql8.0之前,表结构都是以frm文件 ...

  7. 【mysql数据库开放授权】

    mysql数据库开放授权 使用场景: 程序后台内置的mysql数据库只能通过后台用命令连接:mysql -u用户名 -p密码,通过连接工具navicate无法成功连接. 当数据量较大的时候,在后台查询 ...

  8. MySQL中新建用户,新建数据库,用户授权,删除用户,修改密码的相关操作

    测试环境:WIN32 mysql5.0.45 注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.  用户:phplamp 用户数据库:phplampDB 1.新建用户. //登录MYSQ ...

  9. linux为mysql用户授权,Linux环境 Mysql新建用户和数据库并授权

    1.登录MysqL #MysqL -u root -p 2.新增用户 insert into MysqL.user(Host,User,Password) values("localhost ...

  10. Mysql数据库远程授权

    如果mysql不支持远程连接,会出现提示:错误代码是1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL ...

最新文章

  1. hdu1261 字串数(排列组合、大整数)
  2. js获取服务器响应头信息,js获取HTTP的请求头信息
  3. 计算机网络——IP协议—CIDR与路由聚合 || DHCP协议
  4. SpringBoot Admin2.0 集成 Java 诊断神器 Arthas 实践
  5. JQUERY的size()与length
  6. apache下php无法连接mysql问题的解决
  7. 2011年第二届蓝桥杯决赛 —— C语言本科 —— 第一题
  8. mysql 5.7.13 log_有关binlog的那点事(二)(mysql5.7.13)
  9. CentOS7中rpm,yum软件安装命令
  10. java-web 过滤器 amp; 监听器 amp; 拦截器
  11. HTML学习总结(2)——标题/水平线/注释/段落/折行/文本格式化
  12. python实现excel的覆盖写入和追加
  13. 【正点原子STM32连载】第三十七章 触摸屏实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  14. 专升本第七部分 计算机网络基础与网页设计
  15. Linux-Systemd
  16. Intellij Error:java: Compilation failed: internal java compiler error
  17. 基于AT91SAM9G20构建嵌入式Linux系统
  18. 信息学奥赛一本通1258:【例9.2】数字金字塔题解
  19. php下载 微信头像图片_php微信公众号开发,获取用户头像,并下载
  20. 蓝桥杯备赛--AcWing 668. 游戏时间2

热门文章

  1. (转)谁是全球资管规模之冠?
  2. 阿里云落地全球最大云原生实践:双11核心系统全面云原生化
  3. 用OpenStack构建“区域医疗”云平台
  4. QEMU,KVM及QEMU-KVM介绍
  5. 【优化调度】基于matlab蚁群算法求解无等待流水线调度优化问题【含Matlab源码 1516期】
  6. 【图像融合】基于matlab小波变换全聚焦图像融合【含Matlab源码 1372期】
  7. 【图像增强】基于matlab同态滤波+Retinex+模糊技术图像增强【含Matlab源码 1013期】
  8. 【三维路径规划】基于matlab狼群算法无人机三维路径规划【含Matlab源码 167期】
  9. 传感器数据 数据库_丰富的数据,不良的数据:充分利用传感器
  10. 构建ai数据库_为使用AI的所有人构建更安全的互联网