在win10环境部署opengauss数据库(包含各种可能遇到的问题解决)

适用于windows环境下通过docker desktop实现opengauss部署,请审题。

文章目录


前言

注意事项:后面docker拉取镜像源最好电脑有科学上网工具如果没有科学上网工具,我也有国产镜像源这边提供,但是稍微有点繁琐有需要可以私信我也可以自己去找

可用的镜像源是动态变化的,所以最新的docker国内镜像源拉取,最好还是自己动动小手找一下大佬发布的可用镜像源网站挨个尝试一下。


一、部署适合deskdocker的环境

众所周知windows环境并不适配docker,所以这里我推荐使用docker desktop,这个既有可视化界面,而且部署完之后启动简单便捷。

1.搜索控制面板。

2.点击里面的程序。

3.选择启用或关闭windows功能,勾选使用于Hype-V、Linux的windows子系统

4.在重启电脑之后,安装docker desktop.

5.安装完后最好再重启一下,如果小鲸鱼变红出现关于wsl启动报错,说面电脑wsl没配置好,搜索下资源或是私信一下我。利用这个更新一下,重启电脑,再点击docker desktop小鲸鱼图标打开。

此时你就是已经成功安装完成docker desktop。

6.确认安装完成,win+r打开输入cmd指令,弹出命令行界面输入docker - v,能够显示docker版本说明安装成功了,下面走第二个流程。

二、安装opengauss数据库

1.配置docker镜像源

这个就说到了我前言中提到的镜像源配置,打开你的docker desktop,选择如图所示的设置按钮

选择这个,然后把你自己搜索到的可用国内镜像源 或我提供的放置进去(有科学上网工具则不考虑这个),放置的位置在registry-mirrors 中不要放错了。

2.拉取镜像源

win+r打开输入cmd指令,弹出命令行界面输入,开始拉取镜像,输入命令:

c 复制代码
docker pull enmotech/opengauss

等待拉取完成

c 复制代码
docker iamges

观察是否拉取成功,安全起见之后可能会遇到一个文件找不到的问题,你还可以下载一个轻量库镜像。

c 复制代码
docker pull enmotech/opengauss-lite

我之前也是遇到了这个问题怀疑可能是这个原因,然后切换成轻量库解决了,我看网上也有降低dockerdesktop版本解决了(这个没尝试过有待后来者尝试)

还原镜像库

复制代码
docker run --name 镜像源名字 --privileged=true -d -e GS_PASSWORD=Chainsx@123 -v 你的镜像源名字 -p 本机接口:容器内接口 

例如

复制代码
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=password@123 -p 5566:5432 enmotech/opengauss:5.0.2

这句代码大意是创建容器,然后使容器内接口对应本机的5566接口,同时设置数据库的密码为password@123设置名字为opengauss。

还原镜像,注意这里还有个易错点就是密码的设置一定要大小字符加英文,否则容易导致容器无法正常启动。

使用

复制代码
docker ps

查看正在跑的容器,如果发现没用,采用

复制代码
docker logs 容器名字

查看容器报错是否是因为上述的密码设置不对报错,如果是重新执行指令,修改为符合规范的密码执行。使用

复制代码
docker start 容器名字

使容器启动,容器启动后,你可以在鲸鱼的可视化页面

这里看到对应的容器在跑,

此时你点击他后面的一个命令行页面的按钮,进入到容器内部(省得你敲指令了)

输入

复制代码
su - omm

omm默认为管理用户的,在切换到这个用户的基础上使用

复制代码
gsql

观察是否有版本后显示,如果有显示,则视为安装成功。
后续连接问题

opengauss基于postgresql,所以选择postgresql连接即可选择使用postgresql驱动的连接即可,注意事项是你要把容器内的5432端口对应到本机的端口上去,navacite或什么工具连接你安装的电脑的暴露的端口位置即可,默认数据库为postgres,默认用户此时不要用omm了,用gaussdb,密码为你之前设置的密码,连上操作即可。


总结

希望能够有帮助到你建立线下测试数据库,不喜勿喷,欢迎交流指正。

相关推荐
踏月的造梦星球1 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
韩楚风1 小时前
【参天引擎】事务生命周期 / MVCC / Undo / ACID / 分布式事务 功能域整体解析
数据库·分布式·mysql·架构·cantian
renhongxia12 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
程序员无隅2 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
愿做无知一猿2 小时前
Nacos连接MySQL异常?DataGrip竟成救星
数据库·mysql
G.O.G.O.G2 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
研究员子楚3 小时前
GEO行业发展标准体系白皮书V2.0-第10卷 · 全球篇:跨国标准协同与全球品牌语义治理框架
数据库·人工智能·microsoft·架构·geo
Omics Pro4 小时前
深度学习多组学互作:组内+组间
数据库·人工智能·深度学习·mysql·搜索引擎·自然语言处理
残*影5 小时前
如何优雅地保存MySQL数据变更历史?
数据库·mysql
乐观的Terry5 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程