在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,密码为你之前设置的密码,连上操作即可。


总结

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

相关推荐
寒山李白2 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装
文牧之3 小时前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql
deriva3 小时前
某水表量每15分钟一报,然后某天示数清0了,重新报示值了 ,如何写sql 计算每日水量
数据库·sql
Leo.yuan4 小时前
数据库同步是什么意思?数据库架构有哪些?
大数据·数据库·oracle·数据分析·数据库架构
Kookoos4 小时前
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
数据库·c#·.net·neo4j·abp vnext
云之兕5 小时前
MyBatis 的动态 SQL
数据库·sql·mybatis
gaoliheng0065 小时前
Redis看门狗机制
java·数据库·redis
?ccc?5 小时前
MySQL主从复制与读写分离
数据库·mysql
会飞的Anthony6 小时前
数据库优化实战分享:高频场景下的性能调优技巧与案例解析
数据库