OpenGauss 5.0在Docker下的安装 - OpenGauss 5.0 Docker Installation

不知道装了几遍了,趁要服务器上装 Gaussdb,记录一下

  • Ubuntu 22.04
  • Docker
  • OpenGauss 5.0

Docker Installation

装个 Docker 先.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

官方的源是 8 成拉不下来的,包 mirror 的

阿里源
1
2
3
4
sudo apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update

开装!

1
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker Service

1
2
3
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl stop docker

跑个 Hello World

1
sudo docker run hello-world

要 mirror,没跑起来其实,晚上懒得配了(雾

OpenGauss 5.0 Installation

从 opengauss.tar 安装,是 docker image 打包的版本,直接传服务器上去

1
2
sudo docker load -i /path/to/opengauss.tar
sudo docker images -a

CPU 负载蛮高,2c2g 慢死了

loading…

Create Container

1
sudo docker run --name openGauss5.0 --privileged=true -d -e GS_PASSWORD=YourPassWord@123 -p 5432:5432 opengauss/opengauss:5.0.0
  1. YourPassWord@123 替换为你的密码,必须符号、字母大小写、数字
  2. -p 5432:5432 前一个是映射出来的端口,后一个是内部的默认端口

Open Shell In The Contatiner

docker ps 中获取 container_id

1
docker ps

随后

1
docker exec -it <container id> bash

Setup Gaussdb Environment

gsql 依赖这个,要加进 lib

root账号
1
find / -name "libcjson.so.1" 2>/dev/null

我这边找到的地址是 /usr/local/opengauss/lib,于是

root账号
1
2
echo "/usr/local/opengauss/lib" >> /etc/ld.so.conf.d/opengauss.conf
ldconfig

随后切换至数据库账号

1
su – opengauss

找到 gsql

1
find / -name gsql

我这边是 /usr/local/opengauss/bin/gsql,于是在 ~/.bashrc 中修改这样的一行,把目录加到 path

1
PATH="$HOME/.local/bin:$HOME/bin:$PATH:/usr/local/opengauss/bin"

随后

1
2
. ~/.bashrc
gsql -V

应当可以正确显示出版本号

Connect DB And Add Admin Account

通过如下命令连接

1
gsql -d postgres -U gaussdb -r

输入密码即可进入,显示如下内容

1
2
3
4
5
6
7
[opengauss@2f5ed6357749 ~]$ gsql -d postgres -U gaussdb -r
Password for user gaussdb:
gsql ((openGauss 5.0.0 build ) compiled at 2023-04-18 09:47:39 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=>

然后输入以下 SQL 语句来创建其他管理员账号

1
CREATE USER <username> SYSADMIN PASSWORD '<Yourpassword@123>';

Reference

非常感谢同学的经验分享

  • 在Windows系统的Docker中部署OpenGauss5.0.0(Open高斯)的一次记录