通过Docker安装openGauss(Windows篇)
Sinkhorn
2025年03月18日 21:23
收录于文集
梓酱的电子扫盲课 · 6篇
计算机专业

前置条件:PowerShell、WSL2、Docker、Navicat Premium

关于前置条件的安装和配置,详见【Docker教程】和【MySQL教程】,在此不再赘述

基于Windows的Docker安装与配置

安装OpenGauss

通过指令docker pull enmotech/opengauss拉取OpenGauss镜像

之后,输入指令【docker run --name opengauss --privileged=true -d -e GS_PASSWORD=opengaussDB@1234 -v D:\workspace_data\opengaussdata:/var/lib/opengauss -p 15432:5432 enmotech/opengauss:latest】,创建OpenGauss容器

上述指令中,==opengaussDB@1234==是自行设置的密码(数字+大小字符+常规符号);==D:\workspace_data\opengaussdata:/var/lib/opengauss==是将容器内的【/var/lib/opengauss】路径映射到本机的【D:\workspace_data\opengaussdata:/var/lib/opengauss】地址上,该地址可自行设置

连接数据库OpenGauss

打开Navicat Premium 17,点击其中的【连接】选项,之后选择【华为云】->【华为云 云数据库 PostgresSQL】,如下图所示:

之后如下图填写信息:

其中连接名可以自定义,主机填localhost,端口填入你映射的端口号,用户名填入默认值gaussdb,密码则是刚才通过docker启动容器时所写密码

填写信息完成后,双击该数据库的图标,变为蓝色则连接成功:

至此,我们完成了OpenGauss的安装与连接了

꒰ঌ(🎀 ᗜ`v´ᗜ 🌸)໒꒱

吗?

꒰ঌ(🎀 ᗜ`‸´ᗜ 🌸)໒꒱

安装与连接常见问题与解决对策

安装opengauss时,遇到一堆问题在所难免(绷),但先别急着对配置文件哐哐一顿修改,也别被日志文件的内容吓跑,不妨冷静下来看看小梓给出的如下对策:

꒰ঌ(🎀 ᗜ`v´ᗜ 🌸)໒꒱

容器闪退问题

docker pull enmotech/opengauss指令拉取的opengauss默认是当前最新版本(6.x)的,而该版本opengauss在通过docker容器启动后大概率会运行数秒后突然自动退出:

这个问题,无法通过删除重装容器、镜像解决,并且通过查看docker日志时会发现有文件缺失问题,目前网上查找到的一些方法基本都是无效甚至牛头不对马嘴😅,以下是我查找和尝试后得到的对策:

高版本(5.x或以上)opengauss EE容器无法在macOS或Windows上正常启动,但在Linux上运行没有问题

降低opengauss版本的对策,我经过测试后认为并不可行,降为3.x版本也会出现文件缺失的问题

方法1换成lite版,将拉取指令切换成【docker pull enmotech/opengauss-lite,就可以避免文件找不到的问题,也能正常启动了

方法2投入Linux系统的怀抱罢,加入AlmaLinux罢,若不想放弃高版本非lite版的opengauss,那就考虑在Linux上安装(推荐一试)

方法3切换镜像,这个会在之后出的Linux上安装opengauss教程中详细讲解(一般来说,enmotech/opengauss-lite镜像是没问题的)

navicat连接失败

一般是由于下列的错误中的一个或多个导致的:

  • 密码设置错误:opengauss的密码在设置的时候必须满足有大小写字母、普通字符和数字,并且密码长度不少于8位
  • 主机地址设置错误:有可能你的主机设置成了通过docker inspect opengauss指令获取到的opengauss所在的容器的IP地址,修改回localhost或127.0.0.1即可
  • 端口设置错误:端口在首次启动容器的指令中已经做好了容器端口到主机端口的映射,请注意不要写错端口(如5432端口映射到15432端口后,Navicat中应该填入的端口为15432);若还是无法连接,则通过【netstat -ano | findstr 端口号】查看端口是否被占用,并查看防火墙是否开启了该端口
  • 用户名搞错:以为是自定义,其实只能填gaussdb

在解决完上述的问题后,基本就能正常启动opengauss并连接了

꒰ঌ(🎀 ᗜ`v´ᗜ 🌸)໒꒱

评论 1
赞与转发