(写给真·小白,Linux系统,数据库连接零基础的同学都可看!因为也是一个初学者一点点摸索出来的,有问题欢迎讨论!)

一、docker安装

https://blog.csdn.net/QQ1817117243/article/details/139879440 (参考这个博客,非常详细)

注意:

1.镜像文件我改成了这个,可以自己试一下哪个可用用哪个

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://mirror.baidubce.com",
    "https://hub-mirror.c.163.com"
  ]
}

2.打开命令提示界面,可以搜索框搜索Windows powershell,右键以管理员身份运行

3.一定要更新docker,找不到的话在这里:

二、拉取opengauss

1.进入虚拟环境

wsl -d Ubuntu

2.输入命令

docker pull enmotech/opengauss:3.0.0

(拉取命令)(实际是拉取了一个docker镜像,包含可完整运行的opengauss和相关工具)

docker run --name ldc_opengauss_single -d -e GS_PASSWORD=@Ldc20050520 -p 15432:5432 enmotech/opengauss:3.0.0

(创建容器命令)

注意:ldc_opengauss_single改成你想要的容器名字(例如mydb),@Ldc20050520改成你想要的密码(例如Hedy@123!),这个密码是超级用户omm的密码(omm是opengauss创建时自动创建的用户),一定要包含大小写字母、特殊符号、数字,不然安全度太低创建不了。

3.验证容器创建

docker ps

类似这样说明创建成功!

没成功就看一下日志 docker logs mydb (你的容器名字)

可能是密码强度不够,把日志内容截图问ai,看看问题出在哪

4.验证数据库连接

# 进入容器
docker exec -it mydb bash
# 切换到 omm 用户
su - omm
# 登录数据库
gsql -d postgres 

postgres,这个是opengauss初始自带的数据库

类似这样就可以了

三、连接navicat

1.创建普通用户

(由于opengauss的安全机制,连接远程时不能用omm连,所以还要建一个普通用户用于连接)

在..=#这里,输入命令:

CREATE USER hedy WITH PASSWORD 'Hedy@123!'; 

  改成你自己的用户名和密码(普通用户名不能是omm!不过一般人也不会这么设吧)

如果有以下warning

那就按\q回车退出数据库,用以下方法进去试试:

gsql -d postgres -U omm -W -h 127.0.0.1 -p 5432

然后重新执行一遍,可以了之后给权限:

GRANT ALL PRIVILEGES ON DATABASE postgres TO hedy;

类似这样就行了

2.修改远程连接权限

\q回车退出...=#,回到omm@...这里

vim /var/lib/opengauss/data/pg_hba.conf   (修改连接)

进去之后是这样的界面

写上这两行,第二行换成你刚刚创建的普通用户名

点Esc,然后输入:wq回车即可退出

vim /var/lib/opengauss/data/postgresql.conf  (开启监听)

确保加上这两行

好了之后重启服务

gs_ctl restart -D /var/lib/opengauss/data

重启完成后会回到虚拟环境

如果重新进入容器输出not running的问题,很正常,应该是重启的时候自动停止运行了,重启一下容器就好

docker start mydb (重启容器)

回到容器之后,查看一下当前状态

# 进入容器
docker exec -it mydb bash

# 切换用户
su - omm
 
# 查看状态
gs_ctl status -D /var/lib/opengauss/data

有running就可以

测试连接~

# 进入容器
docker exec -it mydb /bin/bash

# 切换用户
su - omm

# 测试连接
/usr/local/opengauss/bin/gsql -U omm -d postgres -p 5432

3.navicat连接

连接名随便取,用户名和密码就用刚才创建的普通用户,然后点测试连接,连接成功就ok!

点确定之后,连接就会出现在你的navicat里啦!

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐