操作场景
管理员规划好不同的数据库用户的职责,并给其赋予相应的操作权限,以保证数据
库的安全操作。
前提条件
使用GRANT 或REVOKE,
用户必须拥有GRANT OPTION 权限,
可以授予或收回
用户权限。
GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
424
操作步骤
系统管理员通过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-09-15)
南大通用数据技术股份有限公司
425
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-09-15)
南大通用数据技术股份有限公司
426
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-09-15)
南大通用数据技术股份有限公司
427
gbase> SELECT * FROM t1;
+------+
| a
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
+------+
4 rows in set