返回首页

gbase数据、南大通用产品文档:GBase8a权限管理

更新日期:2024年09月11日

操作场景
管理员规划好不同的数据库用户的职责,并给其赋予相应的操作权限,以保证数据
库的安全操作。
前提条件
使用GRANT 或REVOKE,
用户必须拥有GRANT OPTION 权限,
可以授予或收回
用户权限。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
420
操作步骤
系统管理员通过GRANT 和REVOKE 语句为用户授予和回收权限。语法格式请参
见GRANT 和REVOKE 语句使用。
示例
示例1:使用超级dbauser root,创建一个user_general 用户,该用户具备SELECT
操作的权限。
$ gccli -uroot -p
Enter password:
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights
Reserved.
gbase> CREATE USER user_general;
Query OK, 0 rows affected
gbase> SET PASSWORD FOR user_general = PASSWORD('H%897_@m');
Query OK, 0 rows affected
对user_general 用户只赋予SELECT 权限。*.*代表所有数据库对象,例如:
表,视图,存储过程等。
gbase> GRANT SELECT ON *.* TO user_general;
Query OK, 0 rows affected
gbase> \q
Bye
使用user_general 登录数据库,验证其具备select 权限。存在test 数据库和一
张t1 表,这只是为演示示例提前创建完毕的。
$ gccli -uuser_general -p
Enter password:
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights
Reserved.
gbase> USE test;
Query OK, 0 rows affected
gbase> UPDATE t1 SET a = 11 WHERE a = 10;
ERROR 1142 (42000): UPDATE command denied to user
'user_general'@'localhost' for table 't1'
gbase> DELETE FROM t1;
ERROR 1142 (42000): DELETE command denied to user
'user_general'@'localhost' for table 't1'

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
421
gbase> SELECT * FROM t1;
+------+
| a
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
+------+
10 rows in set
示例2:使用超级dbauser root,创建一个user_admin 用户,该用户具备超级用户的
权限,即全部的权限。
$ gccli -uroot -p
Enter password:
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights
Reserved.
gbase> CREATE USER user_admin;
Query OK, 0 rows affected
gbase> SET PASSWORD FOR user_admin = PASSWORD('H%897_@m');
Query OK, 0 rows affected
对于user_admin 用户赋予全部权限。*.*代表所有数据库的数据库对象,例如:表,
视图,存储过程。
gbase> GRANT ALL ON *.* TO user_admin;
Query OK, 0 rows affected
使用user_admin 用户登录数据库,验证其具备全部权限,可以进行SELECT、UPD
ATE、DELETE、CREATE USER 和DROP USER 等操作。为演示示例提前创建te
st 数据库和t1 表。
$ gccli -uuser_admin -p
Enter password:
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
422
Reserved.
gbase> USE test;
Query OK, 0 rows affected
gbase> SELECT * FROM t1;
+------+
| a
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
+------+
10 rows in set
gbase> UPDATE t1 SET a = 11 WHERE a = 10;
Query OK, 1 row affected
gbase> SELECT * FROM t1;
+------+
| a
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
11 |
+------+
10 rows in set
gbase> DELETE FROM t1 WHERE a >= 5;
Query OK, 6 rows affected

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
423
gbase> SELECT * FROM t1;
+------+
| a
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
+------+
4 rows in set

PL/SQL用循环结构可以实现有规律的重复计算处理。当程序执行到循环控制语句时,
根据循环判定条件对一组语句重复执行多次。循环结构可以看成是一个条件判断语句和一

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 48 -

个向回转向语句的组合。另外,循环结构的三个要素:循环变量、循环体和循环终止条
件。循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应
着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体
回到判断框的入口处。
l
LOOP循环:以loop 开头,以end loop 结尾,至少被执行一次;
l
WHILE LOOP循环:while 循环来说,只有条件为true 时候,才执行循环体语
句,while 循环以while …loop 开始,以end loop 结束;
l
FOR LOOP循环:首先,执行初始步骤,只执行一次。此步骤允许声明和初始化
任何循环控制变量。接下来,评估条件,即initial_value .. final_value。如果结果
为TRUE,则执行循环的主体。如果结果为FALSE,则循环主体不执行,并且控制
流程跳转到for循环之后的下一个语句。执行for循环的主体后,增加或减少计数
器变量的值。现在再次评估条件。如果计算为TRUE,则执行循环并且该过程重
复(循环体,然后增量步,然后再次调节)。条件变为FALSE后,FOR-LOOP终止。
支持范围:For循环体内,不要改变索引值或者范围的边界值;For循环可以使用
reverse关键字,但是需要保证上边界大于下边界。


GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
17