第 4 天课程打卡,本节课程目标为“学习 openGauss 体系结构,使用多个用户访问同一个数据库”。
学习内容
跟着课程学习的内容完成了操作验证,正如标题,我们本课需要重点掌握用户访问数据库的方法,也就是 \c 元命令的使用,这里贴出它的参数:
\c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
使用 \c 加数据库名称,再加用户名称,即可使用指定用户访问到指定的数据。如:
\c musicdb2 user1
以下是作业实操记录。
课后作业
- 创建用户 user1、user2、user3,授予 user1、user2、user3 数据库系统的 SYSADMIN 权限
omm=# CREATE TABLESPACE music_tbs RELATIVE LOCATION 'tablespace/test_ts1'; CREATE TABLESPACE omm=# CREATE DATABASE musicdb2 WITH TABLESPACE = music_tbs; CREATE DATABASE omm=# CREATE USER user1 IDENTIFIED BY 'Tank@Modb'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# CREATE USER user2 IDENTIFIED BY 'Tank@Modb'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# CREATE USER user3 IDENTIFIED BY 'Tank@Modb'; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# omm=# ALTER USER user1 SYSADMIN; ALTER ROLE omm=# ALTER USER user2 SYSADMIN; ALTER ROLE omm=# ALTER USER user3 SYSADMIN; ALTER ROLE omm=# \du List of roles Role name | Attributes | Me mber of -----------+------------------------------------------------------------------------------------------------------------------+--- -------- gaussdb | Sysadmin | {} user2 | Sysadmin | {} user3 | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} user1 | Sysadmin | {}
- 分别使用 user1、user2、user3 访问数据库musicdb2,创建各自的表,并插入数据。表名和数据如下:
表名分别为: products1、 products2、 products3
omm=# \c musicdb2 user1 Password for user user1: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb2" as user "user1". musicdb2=> create table products1(product_id int,product_name char(20),category char(30)); CREATE TABLE insert into products1 values (1502,'olympus camera','electrncs'), (1601,'lamaze','toys'), (1700,'wait interface','Books'), (1666,'harry potter','toys'); musicdb2=> select * from products1; product_id | product_name | category ------------+----------------------+-------------------------------- 1502 | olympus camera | electrncs 1601 | lamaze | toys 1700 | wait interface | Books 1666 | harry potter | toys (4 rows) musicdb2=> \c musicdb2 user2 Password for user user2: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb2" as user "user2". musicdb2=> create table products2(product_id int,product_name char(20),category char(30)); CREATE TABLE insert into products2 values (1502,'olympus camera','electrncs'), (1601,'lamaze','toys'), (1700,'wait interface','Books'), (1666,'harry potter','toys'); musicdb2=> select * from products2; product_id | product_name | category ------------+----------------------+-------------------------------- 1502 | olympus camera | electrncs 1601 | lamaze | toys 1700 | wait interface | Books 1666 | harry potter | toys (4 rows) musicdb2=> \c musicdb2 user3 Password for user user3: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb2" as user "user3". musicdb2=> musicdb2=> create table products3(product_id int,product_name char(20),category char(30)); CREATE TABLE insert into products3 values (1502,'olympus camera','electrncs'), (1601,'lamaze','toys'), (1700,'wait interface','Books'), (1666,'harry potter','toys'); musicdb2=> select * from products3; product_id | product_name | category ------------+----------------------+-------------------------------- 1502 | olympus camera | electrncs 1601 | lamaze | toys 1700 | wait interface | Books 1666 | harry potter | toys (4 rows)
- 使用 user1、user2、user3 用户中的任何一个,查看当前数据库musicdb2有哪些表
musicdb2=> \c musicdb2 user1 Password for user user1: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb2" as user "user1". musicdb2=> \dt List of relations Schema | Name | Type | Owner | Storage --------+-----------+-------+-------+---------------------------------- public | products1 | table | user1 | {orientation=row,compression=no} public | products2 | table | user2 | {orientation=row,compression=no} public | products3 | table | user3 | {orientation=row,compression=no} (3 rows) musicdb2=> \c musicdb2 user2 Password for user user2: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb2" as user "user2". musicdb2=> \dt List of relations Schema | Name | Type | Owner | Storage --------+-----------+-------+-------+---------------------------------- public | products1 | table | user1 | {orientation=row,compression=no} public | products2 | table | user2 | {orientation=row,compression=no} public | products3 | table | user3 | {orientation=row,compression=no} (3 rows) musicdb2=> \c musicdb2 user3 Password for user user3: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb2" as user "user3". musicdb2=> \dt List of relations Schema | Name | Type | Owner | Storage --------+-----------+-------+-------+---------------------------------- public | products1 | table | user1 | {orientation=row,compression=no} public | products2 | table | user2 | {orientation=row,compression=no} public | products3 | table | user3 | {orientation=row,compression=no} (3 rows)
总结
在运维过程中,灵活使用 \c 元命令可快速通过指定用户访问指定数据库。
-- 方法 1: gsql -d musicdb2 -U user1 -- 方法 2: \c musicdb2 user1
历史打卡记录:
openGauss 每日一练第 1 天|openGauss 数据库状态查看
最后修改时间:2022-11-30 23:46:07
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




