第1关:创建用户和授权


编程要求

1.创建用户 U1,密码均为 rjxy1234!; 2.把教师表查询和插入数据的权限,班级表查询和更新班级人数数据的权限授给用户 U1

测试说明

平台会对你编写的代码进行测试,结果正确即可通关。

相关知识

1.登录数据库并创建用户

创建用户:

  1. CREATE USER <所创建用户> PASSWORD '<密码>';

2.授权表

  1. GRANT <授权的功能> ON TABLE <表名> TO <用户>;

3.测试权限

在完成授权操作之后,对授权的功能进行测试。此时需要登录该用户,以 U1 为例,使用以下代码完成 U1 登录

  1. \q
  2. ksql -h 127.0.0.1 -p 54321 -U <用户> -d testdb
  3. 输入设定密码

输入设定密码的后面输入该用户的密码,但是需要注意的是,此时输入的内容是隐藏的、看不到的。密码输入结束后回车。


开始你的任务吧,祝你成功!

 ---------- BEGIN ---------- 
create user u1 password 'rjxy1234!';
grant select,insert on teacher to u1;
grant select,update(gnum) on class to u1;

---------- END ---------- 

第2关:创建角色和授权


编程要求

1.创建用户 U2U3,密码均为 rjXY1234!; 2.创建角色 R1,增加角色R1对教师表查询和删除数据的权限(允许级联)。将角色 R1 授予 U2

测试说明

平台会对你编写的代码进行测试,结果正确即可通关。

相关知识

1.创建用户

  1. CREATE USER <所创建用户> PASSWORD '<密码>';

2.创建角色

  1. CREATE ROLE <角色名>;

3.数据库对象的授权

  1. GRANT <SELECT|DELETE|UPDATE|INSERT|ALL> ON TABLE <表名> TO <用户名|角色名> [WITH GRANT OPTION];

注:如果指定了WITH GRANT OPTION,特权的接收者可以接着把它授予给其他人。如果没有授权选项,接收者就不能这样做。

4.角色的授权

  1. 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级联授权教师表的查询和删除数据。

测试说明

平台会对你编写的代码进行测试,结果正确即可通关。

相关知识

回收特定用户权限:

 
  1. 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/。

  1. 将数据库testdb中的教师表teacher进行 dump 格式备份
  2. 将数据库testdb中的班级表class进行 sql 格式备份
  3. 将数据库 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格式:
  1. sys_dump -U <用户名> -d <数据库名> -f <文件路径/文件名> -Fc -t <表名>

参数说明:-d 代表要连接的数据库,-f 代表要将备份文件存在在哪个路径下,-t 代表要备份的数据表的名字,缺省代表备份整个数据库。

  • sql格式:
  1. sys_dump -U <用户名>-d <数据库名> -f <文件路径/文件名> -Fp -t <表名>

参数说明:-d 代表要连接的数据库,-f 代表要将备份文件存在在哪个路径下,-t 代表要备份的数据表的名字,缺省代表备份整个数据库。

2.备份数据库

  1. 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格式还原数据库:

  1. 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格式:

     
    1. sys_restore -U <用户名> -d <数据库名> <文件路径.文件名> -Fc -t <数据表名>

    例如sys_restore -U SYSTEM -d testdb /tmp/t1.dmp -Fc -t t1 代表从备份文件/tmp/t1.dmp中还原数据表t1,还原至数据库testdb。

  • sql格式:

    1. ksql -U SYSTEM -d <还原至数据库>
    2. \i <文件路径.文件名>

    或者

    1. 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---------- #

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐