一:前期准备打开防火墙端口
参考:Docker在本地部署Centos8
二:拉取opengauss镜像
1.拉取镜像
docker pull enmotech/opengauss
2.运行镜像
docker run --name opengauss --privileged=true -d -p 8848:5432 -e GS_PASSWORD=Test@666 enmotech/opengauss
参数说明
GS_PASSWORD 密码
-d 后台运行镜像
-p 对外的端口(远程要连接的端口):内部端口(opengauss默认5432)
3.进入容器
docker ps
4.查看镜像id
5.进入容器:
docker exec -it 容器id /bin/bash
6.修改配置
vim /var/lib/opengauss/data/pg_hba.conf
如果找不到文件可通过 find -name pg_hba.conf 查看文件路径
7.新增host all all 0.0.0.0/0 md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust#此处不需要修改 否则步骤6提示密码错误(无法本地连接)
# IPv4 local connections:
host all all 127.0.0.1/32 md5#修改为md5
host all all 0.0.0.0/0 md5#新增配置
# IPv6 local connections:
host all all ::1/128 md5#修改md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication opengauss trust
#host replication opengauss 127.0.0.1/32 trust
8.修改postgresql.conf 文件
vim /var/lib/opengauss/data/postgresql.conf
9.修改如下参数
listen_addresses = ‘*’
local_bind_address = ‘0.0.0.0’
password_encryption_type = 0
10.切换omm 用户
su - omm
11.重新加载配置
gs_ctl stop-D /var/lib/opengauss/data -Z /var/lib/opengauss/data
注: 此时会退出容器需要重新进入
docker ps -a
12.重启容器
docker start 容器id
13.进入容器
docker exec -it 容器id /bin/bash
14.切换omm 用户
su - omm
15.重启数据库
gs_ctl start -D /var/lib/opengauss/data -Z /var/lib/opengauss/data
16.进入数据库
gsql -d postgres
17.创建用户
CREATE USER testadmin PASSWORD 'testadmin@666';
18.修改权限
ALTER ROLE testadmin SYSADMIN;
Navicat连接即可
linux本地连接参考:https://blog.csdn.net/DXIANGH/article/details/126119080?spm=1001.2014.3001.5502