当前位置: 首页 > news >正文

配置openguass 教程(自存)

配置openguass 教程(自存)

​失败尝试:

1.点击电脑上的ubuntu图标但是打不开:WSL Ubuntu实例,状态 Stopped(已停止)。解决:卸载重装。

2.在wsl2 Ubuntu中安装Docker:安装docker成功后拉取openguass镜像失败,网络连接问题。解决:尝试更换镜像源,更换docker配置,无解。

博主在尝试后使用了这个博主的方法,配置成功,特别感谢,以下是原博链接:

原博链接点击这里@Aderversa

最终采取:没有直接docker pull,在 Windows 11 + Docker Desktop(基于 WSL2) 环境下,手动构建并运行 OpenGauss 3.0.0 的 Docker 镜像。整个过程适用于 x86_64 架构

“基于源码 + 极简版软件包 + openEuler 20.03 基础镜像” 手动构建 Docker 镜像

基本知识:

需要软件:

OpenGuass(for PostgreSQL) 2.0 + docker + linux(ubuntu)+ Navicat + JDK + IntelliJ IDEA + OpenGauss JDBC 驱动

🔗 软件之间的关系

  • Linux 是运行 OpenGauss 的推荐环境。
  • Docker 是一种可选方式,用于快速部署 OpenGauss。
  • OpenGauss 是核心数据库系统。
  • Navicat 通过远程连接(端口 5432)操作 OpenGauss。
  • Java 程序(通过 IDE 编写)使用 JDBC 驱动 连接 OpenGauss,进行数据库操作。

✅ 前提条件

  • 已安装 Docker Desktop 并启用 WSL2 后端
  • 系统是 Windows 11(x86_64)
  • 已安装 Git(推荐 Git Bash 或 PowerShell)

下载 Docker Desktop for Windows

  • 安装页面:
    https://docs.docker.com/desktop/install/windows-install/
  • 下载的是 Docker Desktop Installer.exe
  • 右键 → 以管理员身份运行 安装程序
  • 确认是否安装成功:在 PowerShell 中运行:docker --version
  • 在 Docker Desktop 设置中启用 “Use the WSL 2 based engine”(默认已启用)

详细安装步骤

第一步:下载 openEuler 20.03 镜像压缩包

  1. 打开浏览器,访问:

    https://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/docker_img/x86_64/

  2. 下载文件:

    openEuler-docker.x86_64.tar.xz

第二步:加载 openEuler 镜像到 Docker

在 PowerShell 或 Git Bash 中执行:

docker load -i openEuler-docker.x86_64.tar.xz

验证是否加载成功:

docker images

你应该能看到:

openeuler-20.03-lts latest eeb84ae20ad2 …

第三步:下载 OpenGauss 3.0.0 极简版软件包

  1. 访问 OpenGauss 官方下载页:

    openGauss下载档案 | 下载 | openGauss社区

  2. 选择 “极简版”,下载适用于 openEuler + x86_64 的包,文件名类似:openGauss-3.0.0-openEuler-64bit.tar.bz2

第四步:克隆 OpenGauss 源码(5.0.0 分支)

在你希望存放项目的目录下运行:

git clone -b 5.0.0 https://gitee.com/opengauss/openGauss-server.git

⏳ 项目较大,请耐心等待。

第五步:准备构建目录

  1. 进入 Docker 构建目录:

    cd openGauss-server/docker/dockerfiles/5.0.0

  2. 将你下载的 openGauss-3.0.0-openEuler-64bit.tar.bz2 复制到该目录下

第六步:修改 Dockerfile

  1. 用 VS Code、Notepad++ 或其他编辑器打开 dockerfile_arm

  2. 找到以下三行(通常在 COPY 和 RUN 指令中):

    openGauss-5.0.0-openEuler-64bit.tar.bz2

  3. 将它们全部替换为你的实际文件名:

    openGauss-3.0.0-openEuler-64bit.tar.bz2

第七步:修复 entrypoint.sh 的换行符

Windows 默认使用 CRLF 换行,Linux 容器需要 LF。

使用 VS Code

  • 用 VS Code 打开 entrypoint.sh
  • 右下角点击 CRLF → 改为 LF
  • 保存文件

第八步:构建 OpenGauss 镜像

仍在 5.0.0 目录下,执行:

docker build -f dockerfile_arm -t opengauss:3.0.0 .

⏱ 构建过程可能需要几分钟,请耐心等待。若报错,请检查文件名、换行符和路径。

第九步:运行 OpenGauss 容器**(带持久化 + 端口映射 + 自定义用户)**

# 先创建本地数据目录(用于持久化)
mkdir D:\opengauss_data# 启动容器
docker run --name opengauss-1 `-p 5432:5432 `-v D:\opengauss_data:/var/lib/opengauss/data `-e GS_NODENAME=gaussdb `-e GS_USERNAME=westone `-e GS_PASSWORD=Qaz@0572 `--privileged=true `--restart=always `-d opengauss:3.0.0

🔒 注意:GS_PASSWORD 必须满足 OpenGauss 的复杂度要求(大小写字母+数字+特殊字符,至少8位)。

  • -v:将 Windows 的 D:\opengauss_data 映射到容器内数据目录,实现持久化(重启容器/电脑后数据不丢)
  • -p 5432:5432:将容器 5432 端口映射到主机,供 Navicat 连接
  • 用户名/密码按你记忆中的 westone / Qaz@0572 设置

第十步:验证是否成功

容器是否运行成功:

docker ps

✅ 正常应看到:

CONTAINER ID IMAGE … STATUS PORTS NAMES

xxxxxx opengauss:3.0.0 … Up 2 mins 0.0.0.0:5432->5432/tcp opengauss-1

Navicat(实验要求)

  • 连接类型:PostgreSQL
  • 主机:localhost
  • 端口:5432
  • 初始数据库:postgres
  • 用户名:westone
  • 密码:Qaz@0572
# 进入容器内部
docker exec -it opengauss-1 /bin/bash# 切换为omm用户
su - omm# 连接数据库
gsql -d postgres -p 5432# 在gsql中执行测试命令
\l    # 查看数据库列表
\q    # 退出gsql

常用命令行:

端口是否被占用:
netstat -tulpn | grep 5432重新启动容器:
docker restart opengauss-1查看所有容器(含停止的)
docker ps -a查看正在运行的容器
docker ps查看容器日志(排查启动失败)
docker logs opengauss-1停止容器
docker stop opengauss-1删除容器(保留镜像)
docker rm opengauss-1删除镜像
docker rmi opengauss:3.0.0命令行验证
# 1. 进入容器
docker exec -it opengauss-1 sh# 2. 切换到 omm 用户
su - omm# 3. 先退出 gsql(如果已在其中)
gsql
omm=# \q确保已退出 gsql
[omm@1ed9529328d7 ~]$# 4. 启动gsql 用 westone 用户登录
gsql -d postgres -U westone -W
# 输入密码:Qaz@0572# 5. 成功进入
westone=#现在你可以执行 SQL 了,比如:
westone=# \lgsql交互模式中(提示符是 omm=# 或 omm-#)
\q 是 gsql 的退出命令

环境配置说明

方案架构层次技术栈
openEuler镜像Windows → 虚拟机 → openEuler → Docker → OpenGauss完整虚拟化
WSL UbuntuWindows → WSL2 → Ubuntu → Docker → OpenGauss半虚拟化
Windows DockerWindows → Docker Desktop → OpenGauss容器容器化

🔄 详细技术对比

方面openEuler虚拟机WSL UbuntuWindows Docker
启动速度慢(2-5分钟)快(5-10秒)快(3-5秒)
资源占用高(2-4GB固定)中(动态1-2GB)低(动态分配)
性能较差(双重虚拟化)较好(WSL2优化)好(直接运行)
网络配置复杂(端口转发)简单(localhost)简单(localhost)
文件共享需要配置共享文件夹自动挂载(/mnt/c/)直接访问
学习价值最高(企业级OS)高(Linux环境)较低(屏蔽细节)
稳定性受虚拟机影响较稳定最稳定
适用场景专业学习/生产模拟开发/学习快速部署
http://www.dtcms.com/a/503956.html

相关文章:

  • 3.4循环控制
  • 上海发乐门网站建设公司鞍山招聘网最新招聘
  • FastAPI之 Python的类型提示
  • 注意力机制(Attention)介绍和示例
  • 做网站要实名吗呼和浩特网站运营公司
  • 做网站二维码怎样自己做网络推广网站
  • 望牛墩做网站中国空间站对接成功
  • 6.3 文件传输协议 (答案见原书 P277)
  • BLDC电机矢量控制(FOC)深度解析:从理论到实践
  • MySQL中常见的锁
  • 浙江杭州seo网站建设网站优化在微信上做网站
  • 招商网站平网站平台地方购物网站盈利模式
  • 网站建设培训心得南京紫米网络科技有限公司
  • 【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
  • 怎么做酒店网站网页设计教程ppt
  • 深圳宝安美容医院网站建设想学网站建设优化去哪
  • 分布式组件【ZooKeeper】
  • 基于windows 11 的python编译开发环境部署
  • 建设银行江苏分行网站最新消息今天的新闻
  • STM32G474单片机开发入门(十七)DAC详解及输出电压和正弦波实战
  • 免费做二维码网站网站内容设计遵循的原则有
  • 一家专门做原产地的网站wordpress产品图片框
  • Annual Comedy Competition (Season 1)
  • 网站开发json解析大连seo代理计费
  • 网站失败后怎么重新建设创建全国文明城市简报
  • LLMs-from-scratch(第4章:从零开始实现GPT模型以生成文本)
  • 密钥管理:AWS KMS信封加密,数据密钥轮换?
  • 单独复习一下 BCD码 和 余3码 的关系
  • 1. Qt 基础
  • 网站专题策划方案书直播app开发教程