GBase 8c
运维管理
问答
要实现以下功能,SQL语句如何实现?
发表于2024-04-12 14:23:1874次浏览2个评论
【GBase版本】: GBase8c
【操作系统】: x86
【CPU】: intel
【问题描述】*:
要实现以下功能,SQL语句如何实现?
1 建立新的管理员账户,将原有管理员账户禁用
2 建立非数据操作类账户,不能执行DML操作,不能执行DDL类语句,该用户可以进行备份,查看数据状态、连接数,等操作。
3 建立数据操作类用户,能执行DML,DDL类中不能执行drop语句,不能执行删库、导出数据等语句,限制该用户的数据库连接数。
评论
登录后才可以发表评论
九思Anthen发表于 2年前
最佳回答
九思Anthen发表于 2年前
3 建立数据操作类用户,能执行DML,DDL类中不能执行drop语句,不能执行删库、导出数据等语句,限制该用户的数据库连接数。
修改用户连接数限制参考:alter user xxx CONNECTION LIMIT 100;
其他详细权限授权和回收可以参考如下语法
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM }[, ...]
| ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA schema_name [, ...] }
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
授权语法:
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...]
| ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA schema_name [, ...] }
TO { [ GROUP ] role_name | PUBLIC } [, ...]
[ WITH GRANT OPTION ];
具体根据实际回收或赋予权限
修改用户连接数限制参考:alter user xxx CONNECTION LIMIT 100;
其他详细权限授权和回收可以参考如下语法
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM }[, ...]
| ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA schema_name [, ...] }
FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ];
授权语法:
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | ALTER | DROP | COMMENT | INDEX | VACUUM } [, ...]
| ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA schema_name [, ...] }
TO { [ GROUP ] role_name | PUBLIC } [, ...]
[ WITH GRANT OPTION ];
具体根据实际回收或赋予权限
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526
alter user xxx with nologin;
2 建立非数据操作类账户,不能执行DML操作,不能执行DDL类语句,该用户可以进行备份,查看数据状态、连接数,等操作。
alter user xxx SET default_transaction_read_only=on;
GRANT CONNECT ON DATABASE your_database TO xxx;
GRANT USAGE ON SCHEMA public TO xxx;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO xxx;