KingbaseES(金仓数据库)-头歌-实验报告五(共6关)
第1关:创建用户和授权
编程要求
1.创建用户 U1,密码均为 rjxy1234!; 2.把教师表查询和插入数据的权限,班级表查询和更新班级人数数据的权限授给用户 U1。
测试说明
平台会对你编写的代码进行测试,结果正确即可通关。
相关知识
1.登录数据库并创建用户
创建用户:
CREATE USER <所创建用户> PASSWORD '<密码>';
2.授权表
GRANT <授权的功能> ON TABLE <表名> TO <用户>;
3.测试权限
在完成授权操作之后,对授权的功能进行测试。此时需要登录该用户,以 U1 为例,使用以下代码完成 U1 登录
\qksql -h 127.0.0.1 -p 54321 -U <用户> -d testdb输入设定密码
在 输入设定密码的后面输入该用户的密码,但是需要注意的是,此时输入的内容是隐藏的、看不到的。密码输入结束后回车。
开始你的任务吧,祝你成功!
---------- BEGIN ----------
create user u1 password 'rjxy1234!';
grant select,insert on teacher to u1;
grant select,update(gnum) on class to u1;
---------- END ----------
第2关:创建角色和授权
编程要求
1.创建用户 U2、U3,密码均为 rjXY1234!; 2.创建角色 R1,增加角色R1对教师表查询和删除数据的权限(允许级联)。将角色 R1 授予 U2。
测试说明
平台会对你编写的代码进行测试,结果正确即可通关。
相关知识
1.创建用户
CREATE USER <所创建用户> PASSWORD '<密码>';
2.创建角色
CREATE ROLE <角色名>;
3.数据库对象的授权
GRANT <SELECT|DELETE|UPDATE|INSERT|ALL> ON TABLE <表名> TO <用户名|角色名> [WITH GRANT OPTION];
注:如果指定了WITH GRANT OPTION,特权的接收者可以接着把它授予给其他人。如果没有授权选项,接收者就不能这样做。
4.角色的授权
GRANT <角色名> TO <用户名|角色名> [WITH ADMIN OPTION];
注:如果指定了WITH ADMIN OPTION,成员接着可以把该角色中的成员关系授予给其他用户,也可以撤回该角色中的成员关系。如果没有此选项,普通用户就不能做这些工作。
开始你的任务吧,祝你成功!
---------- 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 with admin option;
---------- END ----------
第3关:收回权限
编程要求
收回U1、U2对教师表的所有操纵权限(ALL)。 注:角色R1向用户U2级联授权教师表的查询和删除数据。
测试说明
平台会对你编写的代码进行测试,结果正确即可通关。
相关知识
回收特定用户权限:
REVOKE <SELECT|DELETE|UPDATE|INSERT|ALL> ON TABLE <表名> FROM <用户名|角色名> [CASCADE];
注:如果一个用户被指定了授予特权(例如WITH GRANT OPTION),那么如果要回收该用户的特权,就要指定CASCADE,实现依赖特权的连带回收,否则会导致回收失败。
开始你的任务吧,祝你成功!
---------- BEGIN ----------
revoke all on teacher from u1,u2 cascade;
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。
测试说明
平台会对你编写的代码进行测试,结果正确即可通关。
相关知识
1.备份表单
- dump格式:
sys_dump -U <用户名> -d <数据库名> -f <文件路径/文件名> -Fc -t <表名>
参数说明:-d 代表要连接的数据库,-f 代表要将备份文件存在在哪个路径下,-t 代表要备份的数据表的名字,缺省代表备份整个数据库。
- sql格式:
sys_dump -U <用户名>-d <数据库名> -f <文件路径/文件名> -Fp -t <表名>
参数说明:-d 代表要连接的数据库,-f 代表要将备份文件存在在哪个路径下,-t 代表要备份的数据表的名字,缺省代表备份整个数据库。
2.备份数据库
sys_dump -U<用户名> -d <数据库名> -f <文件路径/文件名> -Fc
开始你的任务吧,祝你成功!
# -----------BEGIN---------- #
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U SYSTEM -d testdb -f /tmp/testdb.dmp -Fc
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U SYSTEM -d testdb -f /tmp/teacher.dmp -Fc -t teacher
/home/kingbase/KingbaseES/V8/Server/bin/sys_dump -U SYSTEM -d testdb -f /tmp/class.sql -Fp -t class
# -----------END---------- #
第5关:逻辑还原库
编程要求
利用备份文件/tmp/test.dmp实现数据库的还原,还原至数据库exam。
注:sys_restore开头的备份语句请写在/home/kingbase/KingbaseES/V8/Server/bin/之后。
测试说明
1、本关请在第4关通关的基础上完成;如果不是顺序完成关卡,直接进入此关,可能会出现找不到备份文件的情况,若出现该情况,请重新做第4关。 2、平台会对你编写的代码进行测试,结果正确即可通关。
相关知识
dump格式还原数据库:
sys_restore -U SYSTEM -d <新数据库名> <文件路径/文件名> -Fc
注意:-d <新数据库名> 代表要将备份文件还原至那个数据库,<文件路径/文件名> 代表备份文件的存放路径的名字。
开始你的任务吧,祝你成功!
# -----------BEGIN---------- #
create database exam;
/home/kingbase/KingbaseES/V8/Server/bin/sys_restore -U SYSTEM -d exam /data/workspace/myshixun/chapter/testdb.dmp -Fc
# -----------END---------- #
第6关:逻辑还原表
编程要求
利用备份文件/tmp/teacher.dmp实现教师表的还原,还原至数据库exam。
注:sys_restore开头的备份语句请写在/home/kingbase/KingbaseES/V8/Server/bin/之后。
测试说明
1、本关请在第4关通关的基础上完成;如果不是顺序完成关卡,直接进入此关,可能会出现找不到备份文件的情况,若出现该情况,请重新做第4关。 2、平台会对你编写的代码进行测试,结果正确即可通关。
相关知识
1.还原表单
-
dump格式:
sys_restore -U <用户名> -d <数据库名> <文件路径.文件名> -Fc -t <数据表名>
例如
sys_restore -U SYSTEM -d testdb /tmp/t1.dmp -Fc -t t1代表从备份文件/tmp/t1.dmp中还原数据表t1,还原至数据库testdb。 -
sql格式:
ksql -U SYSTEM -d <还原至数据库>\i <文件路径.文件名>
或者
sys_restore -U <用户名> -d <数据库名> <文件路径.文件名> -Fc
开始你的任务吧,祝你成功!
# -----------BEGIN---------- #
/home/kingbase/KingbaseES/V8/Server/bin/sys_restore -U SYSTEM -d exam /data/workspace/myshixun/chapter/class.sql -Fc
/home/kingbase/KingbaseES/V8/Server/bin/sys_restore -U SYSTEM -d exam /tmp/teacher.dmp -Fc -t teacher
# -----------END---------- #
更多推荐
所有评论(0)