如果您是 macOS 用户,又如果您恰好目前选修的一门 数据库原理 的课程需要使用华为“自研”的国产 opengauss 数据库,又如果您正准备安装 opengauss 环境。那么您可以花费 5 分钟左右的时间照着本文搭建 opengauss 以便学习使用。
另外,作者与好朋友亲测 OpenGauss 的 ARM Docker 镜像 在 macOS 上无法使用,请不要浪费您宝贵的时间,尝试在 macOS 使用 Docker 安装,因此,本文在 Parallels Desktop Unbuntu 22.04 上用 Docker 安装 opengauss ,或者您也可以在您的云服务器用 Docker 安装 opengauss。
另外,如果您成功的在 您的 macOS 上 用 Docker 运行了opengauss 5.0.0及以上的版本,希望您联系我,不吝赐教,感谢。
零、Unbuntu 安装 Docker
Docker 官网:https://docs.docker.com/engine/install/ubuntu/
虽然可能看不懂他在说什么,但是只要照着文档里的代码在终端按顺序敲下来,docker 就安装完了
一、搜索 opengauss 镜像 并拉取镜像
docker search opengauss
这里可以选择 star 数比较多的 enmotech/opengauss
,也可以选择官方的 opengauss/opengauss
,我这里选择的是 opengauss/opengauss 5.0.0
但是后面发现官方的这个镜像是轻量版,无法切换到 omm 用户,因此推荐大家还是安装 enmotech/opengauss
:
docker pull enmotech/opengauss:5.0.0
等待下载完成~
二、配置 compose.yml 文件并启动 docker
在硬盘中新建文件夹并新建如图的文件和空文件夹,opengauss 文件夹是用于存放 data 数据文件的,我们暂时不用动它,接下来我们来配置 compose.yml
文件:
version: '5.0.0'
services:
opengauss:
container_name: opengauss
image: enmotech/opengauss:5.0.0
environment:
GS_PASSWORD: Wtc@7130
TZ: Asia/Shanghai
ports:
- "5432:5432"
privileged: true
volumes:
- ./opengauss/data:/var/lib/opengauss/data
配置完成后,回到 终端 并 cd 到刚刚创建的 compose.yml
文件所在的目录中,输入:
docker compose up -d
docker ps
docker exec -it {xx} /bin/bash
其中 {xx} 是 ps 命令查看到当前 container 的头两个字符(如图当前是 108957e6721c 那么我这里就输入 docker exec -it 10 bash
)
此时就进入 root 用户了,而后输入 :
su - omm
切换到 omm 用户,然后输入:
gsql
即可成功进入 gsql ,愉快的使用 opengauss 了~
当然我这里没有办法截屏,因为 macOS 做到进入 omm 用户以后就无法进入 gsql 了,直接死掉了,在 Google 上有很多人遇到相同的问题,但是大家也都没找到原因解决方案,乐。
后续在 PD 虚拟机上重复了上述的操作一点都没变,就可以成功的跑起来了。如图:
三、链接 Navicat Premium
进入 gsql 后,输入命令创建用户:
CREATE USER tiancy PASSWORD 'Tiancy@123';
然后打开 Navicat Premium - 连接 :
- 连接名可以随便取,就是名字而已;
- 主机就是虚拟机的 ip 地址,通过
ip -a
命令查看自己虚拟机的 ip 地址,端口就是 5432 (因为在 Docker compose.yml 中我们配置了端口映射,将 opengauss 的 5432 默认端口映射到了 unbuntu 本机的 5432端口上,所以这里我们访问虚拟机的 ip:5432 就可以访问到我们的数据库); - 初始化数据库名可以自己取;
- 用户名和密码就是刚刚我们 create 的用户名和密码。
然后就可以连上 Navicat Premium 操作你的 opengauss 数据库哩~