学习目标
学习openGauss体系结构,通过实验,了解用户一次只能连接到一个数据库,没法访问其他数据库的对象。
学习内容
通过本章学习,进一步熟悉opengauss基本的建库、建表操作。了解了一个用户一次只能连接到一个数据库, 不能通过一个数据库跨库查询到其他数据库。
1.创建两个数据库。
2.创建一个用户,并赋权sysadmin权限。
3.连接到数据库1,建表插入数据。
4.连接到数据库2,建表插入数据。
5.连接数据库1,查询数据库1的表数据,查询正常。然后再查询数据库2的表数据,查询报错。
6.再次连接到数据库2,查询数据库2的表数据,查询正常
课后作业
1.创建用户user1,分别在数据库musicdb1、数据库musicdb2创建表t11,t21
创建用户
创建数据库、建表并插入数据
2.user1用户连接到数据库musicdb1,并访问数据库musicdb1下的表t11
3.在这个连接中(使用数据库用户user1连接到数据库musicdb1)访问数据库musicdb2下的t21表(会报错)
4.使用数据库用户user1连接到数据库musicdb2,访问数据库musicdb2下的t21表。
学习openGauss体系结构,通过实验,了解用户一次只能连接到一个数据库,没法访问其他数据库的对象。
通过本章学习,进一步熟悉opengauss基本的建库、建表操作。了解了一个用户一次只能连接到一个数据库, 不能通过一个数据库跨库查询到其他数据库。
1.创建两个数据库。
2.创建一个用户,并赋权sysadmin权限。
3.连接到数据库1,建表插入数据。
4.连接到数据库2,建表插入数据。
5.连接数据库1,查询数据库1的表数据,查询正常。然后再查询数据库2的表数据,查询报错。
6.再次连接到数据库2,查询数据库2的表数据,查询正常
1.创建用户user1,分别在数据库musicdb1、数据库musicdb2创建表t11,t21
musicdb2=> select version(); version ------------------------------------------------------------------------------------------------------------------------------------------------------ (openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:34 commit 0 last mr on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit (1 row) musicdb2=> show server_version; server_version ---------------- 9.2.4 (1 row) musicdb2=> \copyright GaussDB Kernel Database Management System Copyright (c) Huawei Technologies Co., Ltd. 2018. All rights reserved.创建用户
openGauss=# CREATE USER user1 IDENTIFIED BY 'test@1234'; CREATE ROLE openGauss=# alter user user1 with sysadmin; ALTER ROLE openGauss=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------------------------------------------------------------+----------- jack | | {} opengauss | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} user1 | Sysadmin | {}创建数据库、建表并插入数据
openGauss=# create database musicdb1; CREATE DATABASE openGauss=# create database musicdb2; CREATE DATABASE openGauss=# \c musicdb1 user1 Password for user user1: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb1" as user "user1". musicdb1=> create table products1(product_id integer,product_name char(20),category char(30)); CREATE TABLE musicdb1=> insert into products1 values(1502,'olympus camera','electrncs'),(1601,'lamaze','toys'),(1700,'wait interface','Books'),(1666,'harry potter','toys'); INSERT 0 4 musicdb1=> 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) musicdb1=> \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 integer,product_name char(20),category char(30)); CREATE TABLE musicdb2=> insert into products1 values(1502,'olympus camera','electrncs'),(1601,'lamaze','toys'),(1700,'wait interface','Books'),(1666,'harry potter','toys'); INSERT 0 4 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)2.user1用户连接到数据库musicdb1,并访问数据库musicdb1下的表t11
musicdb2=> \c musicdb1 user1 Password for user user1: Non-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "musicdb1" as user "user1". musicdb1=> \d List of relations Schema | Name | Type | Owner | Storage --------+-----------+-------+-------+---------------------------------- public | products1 | table | user1 | {orientation=row,compression=no} (1 row) musicdb1=> select * from musicdb1.public.products1; product_id | product_name | category ------------+----------------------+-------------------------------- 1502 | olympus camera | electrncs 1601 | lamaze | toys 1700 | wait interface | Books 1666 | harry potter | toys (4 rows)3.在这个连接中(使用数据库用户user1连接到数据库musicdb1)访问数据库musicdb2下的t21表(会报错)
4.使用数据库用户user1连接到数据库musicdb2,访问数据库musicdb2下的t21表。
musicdb1=> \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=> select * from musicdb2.public.products1; product_id | product_name | category ------------+----------------------+-------------------------------- 1502 | olympus camera | electrncs 1601 | lamaze | toys 1700 | wait interface | Books 1666 | harry potter | toys (4 rows)