数据库实验四 SQL安全性
欢迎阅读本教程
- 熟悉通过SQL进行数据完整性控制的方法。
实现内容如下:
- 建立表,考察表的生成者拥有该表的哪些权限。
- 使用 SQL 的 grant 和 revoke 命令对其他用户进行授权和权力回收,考察相应的作用。
- 建立视图,并把该视图的查询权限授予其他用户,考察通过视图进行权限控制 的作用。
注意:开两个命令行窗口分别为root和test用户,接下来的实验操作不会过于繁琐(不会不停退出和登录)
一、考察表的生成者拥有该表的哪些权限
命令:
结果:
二、 Grant 和 Revoke 命令对其他用户进行授权和权力回收
- 使用 SQL 的 grant 和 revoke 命令对其他用户进行授权和权力回收,考察相应的作用
创建一个名为test的用户,并登录
可见新用户test没有任何权限
然后退出,以root用户身份登录,再通过grant命令给刚刚创建的test用户授予testDB数据库的权限。
再通过test用户登录,并且显示权限,现在就可以看到刚刚通过grant命令授予的权限了
在root用户中回收权限
如此test用户就没有select权限了
三、建立视图,控制权限
建立视图,并把该视图的查询权限授予其他用户,考察通过视图进行权限控制的作用
首先选择数据库并显示数据库信息,使用branch作为案例
创建视图并且将权力赋予test用户
test用户命令行中,可以看出其权力在这个过程中已经发生变化,说明授予权力的操作生效了。
实验四成功完成!欢迎分享交流O(∩_∩)O~~~~~