openGauss

开源数据库

openGauss社区官网

开源社区

openGauss每日一练第5天

云和恩墨2022-04-20openGauss每日一练第5天

openGauss 每日一练第 5 天

本文出处:https://www.modb.pro/db/193101

学习地址

https://www.modb.pro/course/133

学习目标

学习 openGauss 创建用户、修改用户属性、更改用户权限和删除用户

用户是用来登录数据库的,通过对用户赋予不同的权限,可以方便地管理用户对数据库的访问及操作

课程作业

过程中使用\du 或\du+查看用户信息

1.创建用户 user1、user2 和 user3,user1 具有 CREATEROLE 权限,user2 具有 CREATEDB 权限,要求使用两种不同的方法设置密码

SQL文本:
create user user1 createrole password '*****_***';
create user user2 createdb identified by '*****_***';
create user user3 password '*****_***';
\du+

omm=# create user user1 createrole password '*****_***';
CREATE ROLE
omm=# create user user2 createdb identified by '*****_***';
CREATE ROLE
omm=# create user user3 password '*****_***';
CREATE ROLE
omm=# \du+
                                                                     List of roles
 Role name |                                                    Attributes                                                    | Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------
 lizi      | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 user1     | Create role                                                                                                      | {}        |
 user2     | Create DB                                                                                                        | {}        |
 user3     |                                                                                                                  | {}        |

omm=#

2.修改用户 user1 的密码

SQL文本:
alter user user1 identified by 'user1_456' replace '*****_***';
或者
alter user user1 password '*****_***' ;

omm=# alter user user1 identified by 'user1_456' replace '*****_***';
ALTER ROLE
omm=# alter user user1 password '*****_***' ;
ALTER ROLE
omm=# \du+
                                                                     List of roles
 Role name |                                                    Attributes                                                    | Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------
 lizi      | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 user1     | Create role                                                                                                      | {}        |
 user2     | Create DB                                                                                                        | {}        |
 user3     |                                                                                                                  | {}        |

omm=#

3.重命名用户 user2

SQL文本:
alter user user2 rename to user222;
\du+

omm=# alter user user2 rename to user222;
ALTER ROLE
omm=# \du+
                                                                     List of roles
 Role name |                                                    Attributes                                                    | Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------
 lizi      | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 user1     | Create role                                                                                                      | {}        |
 user222   | Create DB                                                                                                        | {}        |
 user3     |                                                                                                                  | {}        |

omm=#

4.将用户 user1 的权限授权给用户 user3,再回收用户 user3 的权限

SQL文本:
grant user1 to user3;
\du+
revoke all privilege from user3;
\du+

omm=# grant user1 to user3;
GRANT ROLE
omm=# \du+
                                                                     List of roles
 Role name |                                                    Attributes                                                    | Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------
 lizi      | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 user1     | Create role                                                                                                      | {}        |
 user222   | Create DB                                                                                                        | {}        |
 user3     |                                                                                                                  | {user1}   |

omm=# revoke all privilege from user3;
ALTER ROLE
omm=# \du+
                                                                     List of roles
 Role name |                                                    Attributes                                                    | Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------
 lizi      | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 user1     | Create role                                                                                                      | {}        |
 user222   | Create DB                                                                                                        | {}        |
 user3     |                                                                                                                  | {user1}   |

omm=#

5.删除所有创建用户

SQL文本: drop user user1; drop user user222; drop user user3; \du+
omm=# drop user user1;
DROP ROLE
omm=# drop user user222;
DROP ROLE
omm=# drop user user3;
DROP ROLE
omm=# \du+
                                                                     List of roles
 Role name |                                                    Attributes                                                    | Member of | Description
-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------
 lizi      | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}        |

omm=#