华为openGauss高斯数据库安装--docker方式

一、华为openGauss高斯数据库介绍

openGauss是一款华为开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性。

openGauss内核早期源自开源数据库PostgreSQL,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进行了适配与优化。作为一个开源数据库,期望与广泛的开发者共同构建一个多元化技术的开源数据库社区。

下面是openGauss数据库的架构图:

二、华为openGauss高斯数据库安装

1、传统安装:

openGauss传统的安装步骤,具体操作比较繁琐,需要设置配置文件、准备安装环境等等,不适合想快速入手高斯数据库的同学。当然如果有同学想了解传统的安装步骤,我后续会出一个文章专门详细说明这个传统安装步骤。

2、Docker安装:

Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2.0协议。Docker可以将我们的应用程序打包封装到一个容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的资源,通过容器就可以实现方便快速并且与平台解耦的自动化部署方式,无论你部署时的环境如何,容器中的应用程序都会运行在同一种环境下。

使用Docker安装openGauss数据库可以免去繁琐的配置,简化安装步骤,下面主要给同学们介绍使用Docker安装openGauss数据库的过程。

操作系统建议同学们选择一个Linux系统,因为Docker和Linux的兼容性比较好,Docker容器化技术就起源于Linux系统。windows下安装Docker也比较麻烦。

我们这次使用的华为开源的openEuler操作系统。可以使用虚拟机软件先安装好openEuler操作系统,安装过程参看我的另一篇博文:

3、Docker安装过程:

安装Docker:

[root@openEuler ~]# yum install -y docker


拉取镜像:


[root@openEuler ~]# docker pull enmotech/opengauss:latest
latest: Pulling from enmotech/opengauss
ca1778b69356: Pull complete
6bc68ebf221c: Pull complete
62149130862a: Pull complete
a578cee72a33: Pull complete
e63b015b79f9: Pull complete
Digest: sha256:97a8f2e24ca408fe9485af6e4b98accabca49c2b102e9247b188c62eadb7a73c
Status: Downloaded newer image for enmotech/opengauss:latest

运行容器:

[root@openEuler ~]#  docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 -p 8090:5432 enmotech/opengauss:latest
d577c549c60217b159e3cfc52f0e5261b0222422cf93d7c6f115cbef9d40e8fe

容器启动中的参数讲解:

  • GS_PASSWORD

在你使用openGauss镜像的时候,必须设置该参数。该参数值不能为空或者不定义。该参数设置了openGauss数据库的超级用户omm以及测试用户gaussdb的密码。openGauss安装时默认会创建omm超级用户,该用户名暂时无法修改。测试用户gaussdb是在docker-entrypoint.sh中自定义创建的用户。
openGauss镜像配置了本地信任机制,因此在容器内连接数据库无需密码,但是如果要从容器外部(其它主机或者其它容器)连接则必须要输入密码。
openGauss的密码有复杂度要求,需要:密码长度8个字符以上,必须同时包含英文字母,数字,以及特殊符号

  • GS_NODENAME

指定数据库节点名称 默认为gaussdb

  • GS_USERNAME

指定数据库连接用户名 默认为gaussdb

  • GS_PORT

指定数据库端口,默认为5432。

查看容器:

[root@openEuler ~]# docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                      PORTS               NAMES
d577c549c602        enmotech/opengauss:latest   "entrypoint.sh gauss…"   32 seconds ago      Exited (1) 31 seconds ago                       opengauss

三、华为openGauss高斯数据库使用


进入容器,并切换omm用户,使用gsql连接高斯数据库:


[root@openEuler ~]# docker exec -it opengauss sh
# su - omm

omm@fd8714c57ef7:~$ gsql
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:09:38 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

omm=#

对高斯数据库进行一些基本的测试: 

omm=# select version();
ERROR:  invalid byte sequence for encoding "UTF8": 0xef 0x3b
omm=# select version();
                                                                       version

---------------------------------------------------------------------------------------------------------------------------------
---------------------
 (openGauss 2.1.0 build 590b0f8e) compiled at 2021-09-30 14:29:04 commit 0 last mr   on x86_64-unknown-linux-gnu, compiled by g++
 (GCC) 7.3.0, 64-bit
(1 row)

omm=#  \copyright
GaussDB Kernel Database Management System
Copyright (c) Huawei Technologies Co., Ltd. 2018. All rights reserved.

omm=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges
-----------+-------+----------+-------------+-------------+-------------------
 omm       | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
(4 rows)

omm=# \du
                                                              List of roles
 Role name |                                                    Attributes                                                    | M
ember of
-----------+------------------------------------------------------------------------------------------------------------------+--
---------
 gaussdb   | Sysadmin                                                                                                         | {
}
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {
}

omm=# \db
      List of tablespaces
    Name    | Owner | Location
------------+-------+----------
 pg_default | omm   |
 pg_global  | omm   |
(2 rows)

omm=# \dn
    List of schemas
      Name      | Owner
----------------+-------
 blockchain     | omm
 cstore         | omm
 db4ai          | omm
 dbe_perf       | omm
 dbe_pldebugger | omm
 pkg_service    | omm
 public         | omm
 snapshot       | omm
 sqladvisor     | omm
(9 rows)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以使用以下步骤来在Docker安装高斯数据库: 1. 首先,使用以下命令拉取高斯数据库的镜像: docker pull enmotech/opengauss:3.0.0 2. 创建一个存储数据的目录: mkdir -p /data/openguass/ 3. 使用以下命令创建一个高斯数据库的容器: docker run --name opengauss -d --restart always --privileged=true -e GS_PASSWORD=Admin@123456 -v /data/opengauss/mysql:/var/lib/opengauss -u root -p 15432:5432 enmotech/opengauss:3.0.0 4. 容器启动后,您可以使用以下命令来访问高斯数据库docker run --name opengauss --privileged=true -p 5432:5432 -d -e GS_PASSWORD=Enmo@123 enmotech/opengauss:latest 请注意,上述步骤中的密码可以根据您的需求进行更改。另外,端口号5432是高斯数据库的默认端口号,您可以根据需要进行修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker中psql数据库备份与恢复详解](https://download.csdn.net/download/weixin_38571759/12898964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [猿创征文 | 使用Docker部署openGauss国产数据库](https://blog.csdn.net/jks212454/article/details/127158887)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于DOCKER安装华为自研数据库高斯(GAUSS)](https://blog.csdn.net/rudolfyan/article/details/121615129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值