返回首页

gbase数据、南大通用产品文档:GBase8s配置sqlhostsgbaseserver文件

更新日期:2024年09月11日

[root@PRIMARY ~]# su gbasedbt
[gbasedbt@PRIMARY ~]$ cd /opt/GBASE/gbase/etc
[gbasedbt@PRIMARY etc]$ vim sqlhosts.gbaseserver
sqlhosts文件中需要将本次的3个节点的实例名、连接方式、IP、端口配置正确。
gbaseserver onsoctcp 192.168.5.100 9088
gbaseserver1 onsoctcp 192.168.5.101 9088
gbaseserver2 onsoctcp 192.168.5.102 9088

当一个用户访问数据库时,该数据库的 DBA 可以限制其对数据库内指定表和表中
指定字段的访问。任何 RESOURCE 级别或 DBA 级别的用户都可以创建表。表的拥有者
或任何 DBA 级别的用户都可以对其他用户授予或收回针对该数据表的表级别和字段
级别的权限。针对表和字段的权限共有 8 种:INSERT、DELETE、SELECT、UPDATE、
REFERENCES、INDEX、ALTER、ALL。
与数据库级别的权限相同,用户可以采用 GRANT 和 REVOKE 命令对其他用户授予
和收回对用户表级别和字段级别的权限。
基本语法如下:



对于表和字段权限的授予和收回示例如下:
1. INSERT
GRANT DBA TO user1;
GRANT DBA TO usera, userb, userc;
REVOKE DBA FROM user1;
REVOKE DBA FROM usera, userb, userc;
ALL
PRIVILEGES
INSERT
DELETE
ON
,
UPDATE
REFERENCES
SELECT
column
(
)
,
ALTER
INDEX
UNDER
table
view
synonym
owner .

GBase 8s 安全技术指南
南大通用数据技术股份有限公司
- 14 -

该权限表示用户可以向表中增添新的数据。
授权语法示例如下:

收回权限语法示例如下:

2. DELETE
该权限表示用户可以删除表中的数据。
授权语法示例如下:

收回权限语法示例如下:

3. SELECT
该权限可以扩展到指定字段,
表示用户可以查询表中的记录或指定字段,
授权语法
示例如下:

收回权限语法示例如下:

4. UPDATE
该权限可以扩展到指定字段,
表示用户可以修改表中的记录或指定字段,
授权语法
示例如下:

收回权限语法示例如下:

5. REFERENCES
GRANT INSERT ON customer_table TO user1;
GRANT INSERT ON customer_table TO usera, userb, userc;
GRANT INSERT ON customer_table TO PUBLIC;
REVOKE INSERT ON customer_table FROM PUBLIC;
REVOKE INSERT ON customer_table FROM usera, userb, userc;
REVOKE INSERT ON customer_table FROM user1;
GRANT DELETE ON customer_table TO user1;
GRANT DELETE ON customer_table TO usera, userb, userc;
GRANT DELETE ON customer_table TO PUBLIC;
REVOKE DELETE ON customer_table FROM PUBLIC;
REVOKE DELETE ON customer_table FROM usera, userb, userc;
REVOKE DELETE ON customer_table FROM user1;
GRANT SELECT ON customer_table TO usera, userb, userc;
GRANT SELECT (customer_id, customer_name) ON customer_table TO PUBLIC;
REVOKE SELECT (customer_id, customer_name) ON customer_table FROM PUBLIC;
REVOKE SELECT ON customer_table FROM usera, userb, userc;
GRANT UPDATE ON customer_table TO usera, userb, userc;
GRANT UPDATE (customer_id, customer_name) ON customer_table TO PUBLIC;
REVOKE UPDATE (customer_id, customer_name) ON customer_table FROM PUBLIC;
REVOKE UPDATE ON customer_table FROM usera, userb, userc;

GBase 8s 安全技术指南
南大通用数据技术股份有限公司
- 15 -

该权限可以扩展到指定字段,
表示用户可以针对表中的记录、
指定字段制定参考性
约束条件。参考性约束条件用来执行诸如多级删除和字段之间关联的工作。授予该权
限的用户至少是 RESOUCE 级别的用户,授权语法示例如下:

收回权限语法示例如下:

6. INDEX
该权限表示用户可以建立或删除与指定表有关的索引。
授予该权限的用户应该至少
是 RESOURCE 级别的用户。
一个 CONNECT 级别的用户即使被授予该权限也不能建立永
久索引,但具有 connect 权限的用户可以创建临时表的索引。该权限不能扩展到指定
字段,因为索引是建立在表的所有行的基础上,授权语法示例如下:

收回权限语法示例如下:

7. ALTER
该权限表示用户可以改变表的结构。
所谓改变表的结构是指添加或者删除行,
修改
列数据类型,添加或者删除约束,将表的锁定方式从 page 更改为 row,或为表添加
或删除相应的行类型名称。该权限只能针对数据表。授予该权限的用户必须是DBA级别
的用户。授权语法示例如下:

收回权限语法示例如下:

8. ALL
该权限包含上面的所有 7 种权限。授权语法示例如下:

收回权限语法示例如下:
GRANT REFERENCES ON customer_table TO usera, userb, userc;
GRANT REFERENCES (customer_id, customer_name) ON customer_table TO PUBLIC;
REVOKE REFERENCES (customer_id, customer_name) ON customer_table FROM PUBLIC;
REVOKE REFERENCES ON customer_table FROM usera, userb, userc;
GRANT INDEX ON customer_table TO usera, userb, userc;
GRANT INDEX ON customer_table TO PUBLIC;
REVOKE INDEX ON customer_table FROM PUBLIC;
REVOKE INDEX ON customer_table FROM usera, userb, userc;
GRANT ALTER ON customer_table TO usera, userb, userc;
GRANT ALTER ON customer_table TO PUBLIC;
REVOKE ALTER ON customer_table FROM PUBLIC;
REVOKE ALTER ON customer_table FROM usera, userb, userc;
GRANT ALL ON customer_table TO usera, userb, userc;
GRANT ALL ON customer_table TO PUBLIC;

GBase 8s 安全技术指南
南大通用数据技术股份有限公司
- 16 -



l
权限组合
可以使用一条命令同时针对某一
(或多个)
用户授予或解除多种表级别或字段级别
的权限。例如同时授予所有用户对表 customer_table 的 INSERT、DELETE 和 UPDATE
权限:

又如使用一条命令同时收回用户 user1 对表 customer_table 的I NDEX、SELECT
权限以及对字段 phone 的 ALTER 权限:

【示例 11.1.21】

GBA-02DD-0004
错误码
错误标识
错误信息
GBA-02DD-000
4
ER_TABLE_MUST_
HAVE_COLUMNS
A table must have at least 1 column

GBase 8a MPP Cluster 产品手册
7 附录
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1645
错误出现原因
建表时,建表语句中必须至少包含一个列的定义。比如create table t;将被禁止
分析与建议
检查建表语句,建表语句中必须至少包含一个列的定义