银河麒麟V10 docker 离线安装 opengauss 数据库(单节点部署)
本文记录在银河麒麟V10上使用 docker 离线安装 opengauss 数据库的过程。
- 准备合适的 docker 镜像
- 通过文件传输工具将镜像传输至服务器
- 加载镜像文件
1 | docker load -i opengauss_3.0.0.tar |
正常应该是输出类似这样的内容:
1 | 6f37ca73c74f: Loading layer [==================================================>] 75.16MB/75.16MB |
如果提示下面的内容,可能是你的 docker 没有启动
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
1 | systemctl start docker |
- 验证镜像是否加载成功,返回如下情况即为成功,下面的
enmotech/opengauss
是你的镜像名称,不同地方下载的镜像该名称可能不同,这个名称后面会用到
1 | docker images ls |
- 创建挂载数据目录
1 | mkdir -p /example/opengauss/data |
- 启动容器,可以根据你的需要修改容器名称(
--name
后面的参数),修改数据库密码,修改映射端口(-p
参数的冒号前面的端口)
1 | docker run \ |
成功后会输出一长串容器ID(如果成功后又快速退出了也会,这个不代表已经成功了)
7. 查看容器运行状态,如果 STATUS
是 UP,就是启动成功了。如果你看到的是 Exited,那说明启动后又退出了,没有成功跑起来。
1 | docker ps -a |
一种可能的错误情况
如果你看到的是 Exited,那说明启动后又退出了,没有成功跑起来。1 | docker ps -a | grep opengauss |
可以用以下命令查看情况:
1 | # docker logs 容器ID |
如果你得到的是如下的提示:
Primary host is empty, at least one primary and one standby host are needed
那有可能是你的镜像不支持单节点部署,建议你更换镜像文件
- 通过以下命令就可以进入容器了
1 | docker exec -it opengauss /bin/bash |
如果你觉得这个命令太长,可以配置一个简化命令
1 | vim ~/.bashrc |
以上步骤完成后,你就可以直接使用 enter-gauss
进入容器
- openGauss安装时默认会创建omm超级用户,容器内切换到该用户
1 | su - omm |
- 输入
gsql
就可以进入数据库了,之后的赋权操作都需要在此处进行,\q
可以退出数据库
注意:默认是不允许 omm 用户远程连接数据库的
可能会提示以下内容:Forbid remote connection with initial user.