数据库实验5
第1关:创建用户和授权
实验要求
- 创建用户 U1,密码均为 rjxy1234!;
- 把教师表查询和插入数据的权限,班级表查询和更新班级人数数据的权限授给用户 U1。
代码
---------- BEGIN ----------
CREATE USER U1 PASSWORD 'rjxy1234!';
GRANT select,insert on teacher to U1;
GRANT select,update(cnum) on class to U1;
---------- END ----------
第2关:创建角色和授权
实验要求
- 创建用户 U2、U3,密码均为 rjXY1234!;
- 创建角色 R1,增加角色R1对教师表查询和删除数据的权限(允许级联)。将角色 R1 授予 U2。
代码
---------- BEGIN ----------
CREATE USER U2 PASSWORD 'rjXY1234!';
CREATE USER U3 PASSWORD 'rjXY1234!';
CREATE ROLE R1;
GRANT select,delete on teacher to R1 with grant option;
GRANT R1 to U2;
---------- END ----------
第3关:收回权限
收回U1、U2对教师表的所有操纵权限(ALL)。
注:角色R1向用户U2级联授权教师表的查询和删除数据。
代码
---------- BEGIN ----------
REVOKE ALL ON teacher FROM U1;
REVOKE ALL ON teacher FROM U2;
REVOKE ALL ON teacher FROM R1 CASCADE;
---------- END ----------
第4关: 逻辑备份
实验要求
用 sys_dump 工具进行逻辑备份,备份文件统一放在这个路径中:/tmp/。
将数据库testdb中的教师表teacher进行 dump 格式备份
将数据库testdb中的班级表class进行 sql 格式备份
将数据库 testdb进行 dump 格式备份
注:sys_dump开头的备份语句请写在/home/kingbase/KingbaseES/V8/Server/bin/之后,例
如/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U SYSTEM -d testdb -f /tmp/testdb.dmp -F c。
代码
# -----------BEGIN---------- #
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system -d testdb -f /tmp/teacher.dmp -Fc -tteacher;
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system -d testdb -f /tmp/class.sql -Fp -t class;
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U system -d testdb -f /tmp/testdb.dmp -Fc;
# -----------END---------- #
第5关:逻辑还原库
实验要求
利用上一关的备份文件/tmp/testdb.dmp实现数据库的还原,还原至数据库exam。
注:sys_restore开头的备份语句请写在/home/kingbase/KingbaseES/V8/Server/bin/之后。
代码
# -----------BEGIN---------- #
CREATE DATABASE exam;
\q
/home/kingbase/KingbaseES/V8/Server/bin/sys_restore -U SYSTEM -d exam /tmp/testdb.dmp -Fc
# -----------END---------- #
第6关:逻辑还原表
实验要求
利用备份文件/tmp/teacher.dmp实现教师表的还原,还原至数据库exam。
注:sys_restore开头的备份语句请写在/home/kingbase/KingbaseES/V8/Server/bin/之后。
代码
# -----------BEGIN---------- #
/home/kingbase/KingbaseES/V8/Server/bin/sys_restore -U SYSTEM -d exam /tmp/teacher.dmp -Fc -t teacher
# -----------END---------- #
实验收获:
- 掌握了数据库安全保护的部分内容。
- 掌握了创建用户、角色和授权。
- 掌握了逻辑备份、逻辑还原库、逻辑还原表。
心得体会:
- 通过学习第六章“权限和角色”、“数据库的备份和还原”部分的内容,我完成了这次的实验报告,在这次报告中,我完成了对权限和角色和数据库的备份和还原的一些操作,实现了创建用户、角色和授权、逻辑备份、逻辑还原库、逻辑还原表等操作。
- 在进行这次实验报告时候,我对数据库的安全性保护有了更深的理解,对数据库的并发控制等也有了了解。