一.引言
起首先介绍一下什么是opengeuss——
华为的 openGauss 是一款开源的关系型数据库管理系统(RDBMS),基于 PostgreSQL 内核进行深度优化与扩展,由华为公司主导开辟并贡献给开放原子开源基金会(OpenAtom Foundation)进行社区化运营。其目标是提供高性能、高可靠、高安全的企业级数据库解决方案,实用于各类关键业务场景。(AI跑的算是当个引子了)
然后也是课业要求要利用opengeuss来进行SQL的相干实验,老师也给出了用虚拟机来安装数据库的教程以及资料,但是笔者以为用虚拟机跑还是太贫苦,那有没有更简朴的方法呢?
答案是——有的兄弟,有的,直接在windows上面用docker配置容器就可以了()
二.Windows系统根本设置
要想在windows系统上面整这个活的话需要先打开几个功能:
勾选实用于Linux的Windows子系统,虚拟机平台,Hyper-V(安装docker要用到)。
然后下载wsl,将wsl的版本设置为2(在PowerShell中运行下列代码)。
- wsl --install
- wsl --set-default-version 2
复制代码 三.Docker下载以及安装
完成上述工作后就可以继续我们的情况配置了,这里利用的是Docker作为opengeuss的轻量级容器化运行情况。此前我们下载并设置了wsl以及Hper-V,来提供 Docker 运行所需的 Linux 情况与虚拟化支持。笔者是win11系统,在网上查找资料后发现Docker安装版本不能超过4.30否则就会出现如下报错——
利用下述连接下载4.30版本即可进行安装利用:
Release notes | Docker Docshttps://docs.docker.com/desktop/release-notes/#4300
完成安装后即可进入如下界面,此时可以点击右上角齿轮图标进入系统设置,点击右侧 Docker Engine可以修改下载源来加速后续下载,这里给出常用的镜像源设置:
- {
- "registry-mirrors": [
- "https://registry.docker-cn.com",
- "http://hub-mirror.c.163.com",
- "https://mirror.ccs.tencentyun.com",
- "https://docker.mirrors.ustc.edu.cn"
- ],
- "insecure-registries": [],
- "debug": false,
- "experimental": false,
- "features": {
- "buildkit": true
- }
- }
复制代码
修改镜像源后,点击Apply&Restart,等待Docker重新启动就可以进行下一步利用了。
(当然笔者这里没有进行配置直接挂梯子下的,这个镜像源我试了一下感觉也不是很行,有能力的话还是直接挂梯子来的方便)
接下来就可以进行镜像拉取了。但是这里有个很恶心的问题——高版本(5.x或以上)opengauss EE容器无法在macOS或Windows上正常启动。此时笔者发起把镜像换成lite版,将拉取指令切换成(docker pull enmotech/opengauss-lite)后,就可以制止各种迷之报错以及其他鬼畜的问题。(仍旧是在PowerShell中运行,后续代码没有标注的话默认为在PowerShell中运行)
- docker pull enmotech/opengauss-lite
复制代码 获取lite版本的opengeuss就可以进行容器的配置了,在C盘大概其他盘根目次下创建一个文件夹为opengauss,确保其绝对路径为“C:\opengauss”大概“D:\opengauss”即可。然后在PowerShell中输入如下代码创建容器
- docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Ksy@309125 -v D:\opengauss:/var/lib/opengauss -p 15432:5432 enmotech/opengauss-lite
复制代码 其中name可以本身修改,PASSWORD后的密码也可以本身设计修改(要求包罗大小写字母、平凡字符和数字,并且密码长度不少于8位)。接下来回到Docker主界面就可以看到新容器已经创建成功了——
界面中第一行的即为创建的opengeuss容器,右侧按键分别为停息,启动以及关闭,红色垃圾桶按键为删除容器。启动容器后在PowerShell中输入如下代码:
- # 进入容器的交互式Shell
- docker exec -it opengauss bash
- # 在容器内使用 gsql 连接数据库(用户: gaussdb, 密码: Ksy@309125)
- gsql -d postgres -U gaussdb -W
复制代码 此时会提示输入密码,输入你的密码就可以连接数据库了。连接成功会出现openGauss==》接下来就可以利用opengeuss数据库了。
四.疑难杂症以及解决方法
当然,事情到此还没有结束,接下来就是最后连接数据库过程中的一些疑难杂症了——笔者在最后这步被折磨了极长时间,假如你真要用这个方法的话估计你也会碰到()
我们可以直接利用PowerShell在Docker内opengeuss容器打开后进入容器直接在下令行中利用,进入代码如下:
- docker exec -it opengauss bash
- find / -name gsql 2>/dev/null
复制代码
显示转到上图即为成功进入容器,理论上此时可以直接输入代码这季候连接数据库(上文中的/usr/local/opengauss/bin/gsql -d postgres -U gaussdb),但是会报出希奇的错误——
再去libpq里查看一下这个libpq.so.5.5是个什么情况——没错,有库缺失了(这个bug是真的恶心),但是修复起来也很简朴(虽然我本身查资料啥的研究了半天),这里的问题是libpq.so.5.5 在 OpenGauss 的 lib 目次里,但不被系统辨认,利用下述代码后即可解决
- export LD_LIBRARY_PATH=/usr/local/opengauss/lib:$LD_LIBRARY_PATH
复制代码 此时再执行下述代码就可发现此时库已经规复正常。
- ldd /usr/local/opengauss/bin/gsql | grep libpq
复制代码
之后再执行之前说到的连接代码输入密码后即可连接opengeuss数据库。
- /usr/local/opengauss/bin/gsql -d postgres -U gaussdb
复制代码
这个问题是笔者发现每次启动几乎都会出现的,以是每次用数据库得重复这个问题的解决过程(其实也没那么贫苦把代码保存一下然后每次启动输一遍就行了,原理也很简朴重要是库辨认不了)。当然这个问题确实挺抽象的,假如要直接在windows上利用Docker摆设opengeuss就是会有各种各样奇希奇怪的小问题,但是接下来的报错都是解决一次背面就不会再次出现——缺少其他库的报错——
1.下面报错Docker 容器的软件源中没有直接的 libssl1.1 包。
- E: Unable to locate package libssl1.1
- E: Couldn't find any package by glob 'libssl1.1'
复制代码
2.libcjson.so.1 依赖库缺失
- root@9056c0d37895:/# /usr/local/opengauss/bin/gsql -d postgres -U gaussdb -W
- /usr/local/opengauss/bin/gsql: error while loading shared libraries: libcjson.so.1: cannot open shared object file: No such file or directory
复制代码 用下述代码解决:
- apt install -y wget
- wget http://ftp.debian.org/debian
复制代码 3.libcjson.so.4 依赖库缺失
- root@9056c0d37895:/# /usr/local/opengauss/bin/gsql -d postgres -U gaussdb -W
- /usr/local/opengauss/bin/gsql: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
复制代码 利用下述代码解决
- apt update && apt install -y libcurl4
复制代码 ... ...
五.总结和碎碎念
本文到此就结束了,整个配置过程我也参考了很多博客,也研究了很久的各种报错,总结一下其实要在Windows情况下利用Docker配置opengeuss整个过程还是比较明晰的,就是会有很多奇希奇怪的小问题(其实丢给ai跑跑就知道是什么问题了)。当然本文也只是作为想要尝试这方法的朋友一个小指南,可能有遗漏以及其他问题,接待各位来指正。
(下面我把本篇文章参考的博客以及相干文章列举一下)
windows下通过docker安装opengauss_windows docker安装opengauss-CSDN博客
win11下安装opengauss(Docker)_opengauss windows版-CSDN博客
docker在windos10安装时报错此应用无法在你的电脑上运行_docker此应用无法在你的电脑上运行-CSDN博客
通过Docker安装openGauss(Windows篇) - 哔哩哔哩
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |