数据库实验四 SQL安全性

欢迎阅读本教程

  1. 熟悉通过SQL进行数据完整性控制的方法。

实现内容如下:

  1. 建立表,考察表的生成者拥有该表的哪些权限。
  2. 使用 SQL 的 grant 和 revoke 命令对其他用户进行授权和权力回收,考察相应的作用。
  3. 建立视图,并把该视图的查询权限授予其他用户,考察通过视图进行权限控制 的作用。

注意:开两个命令行窗口分别为root和test用户,接下来的实验操作不会过于繁琐(不会不停退出和登录)

一、考察表的生成者拥有该表的哪些权限

命令:
数据库实验四 SQL安全性
结果:
数据库实验四 SQL安全性

二、 Grant 和 Revoke 命令对其他用户进行授权和权力回收

  1. 使用 SQL 的 grant 和 revoke 命令对其他用户进行授权和权力回收,考察相应的作用
    创建一个名为test的用户,并登录
    数据库实验四 SQL安全性
    数据库实验四 SQL安全性
    可见新用户test没有任何权限
    然后退出,以root用户身份登录,再通过grant命令给刚刚创建的test用户授予testDB数据库的权限。
    数据库实验四 SQL安全性
    再通过test用户登录,并且显示权限,现在就可以看到刚刚通过grant命令授予的权限了
    数据库实验四 SQL安全性
    在root用户中回收权限
    数据库实验四 SQL安全性
    如此test用户就没有select权限了
    数据库实验四 SQL安全性

三、建立视图,控制权限

建立视图,并把该视图的查询权限授予其他用户,考察通过视图进行权限控制的作用
首先选择数据库并显示数据库信息,使用branch作为案例
数据库实验四 SQL安全性
创建视图并且将权力赋予test用户
数据库实验四 SQL安全性
test用户命令行中,可以看出其权力在这个过程中已经发生变化,说明授予权力的操作生效了。
数据库实验四 SQL安全性
数据库实验四 SQL安全性
实验四成功完成!欢迎分享交流O(∩_∩)O~~~~~