openGauss运行在Linux操作系统之上,建议使用openEuler或者CentOS操作系统。在Windows操作系统上安装openEuler需要开启WSL功能。Win+S 打开搜索窗口,在搜索框输入 powershell ,最佳匹配提示Windows PowerShell,选择“以管理员身份运行”,出现Windows PowerShell命令窗口,输入以下命令启用WSL功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
继续在 PowerShell 中输入以下命令以启用虚拟机平台:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启计算机后,自动下载并安装最新的WSL2安装包,输入以下命令将WSL2设置为默认版本:
wsl --set-default-version 2
在Microsoft Store中搜索openeuler,选择openEuler 20.03,点“获取”开始下载并安装,按照提示进行设置(如创建用户名和密码,记下创建的用户名和密码,本示例的用户名为fqw,密码为Fqw_123)
- 安装 openGauss
Win+S 打开搜索窗口,在搜索框输入 openeuler ,选择最佳匹配提示openEuler 20.03 ,出现openEuler命令窗口:
输入 sudo yum install docker ,按提示输入超级用户密码,界面提示需要安装2个包,并询问是否确定,回答 y :
等待安装结束。
使用docker安装openGauss数据库,参看在Docker中快速体验openGauss数据库
输入:sudo docker pull enmotech/opengauss:1.0.1,由于国内访问https://hub.docker.com/r/enmotech/opengauss 受限制网速慢而报错,可以使用国内镜像加速方法,参看https://dockerproxy.cn/
输入:sudo docker pull dockerproxy.cn/enmotech/opengauss:1.0.1,拉取镜像:
sudo docker rm -f opengauss
sudo docker run -d --name opengauss -h opengauss --privileged=true -e GS_PASSWORD=Fqw_123@openEuler -e TZ=Asia/Shanghai -p 15432:5432 dockerproxy.cn/enmotech/opengauss:1.0.1
sudo docker cp /usr/share/zoneinfo/Asia/Shanghai opengauss:/etc/localtime
sudo docker logs -f opengauss
sudo docker exec -it opengauss bash
su - omm
gsql -d postgres -p5432
gsql -d postgres -U gaussdb -W'Fqw_123' -h 192.168.66.35 -p15432
-- 用psql也可以登陆openGauss
psql -d postgres -U gaussdb -h 192.168.66.35 -p15432
-- 去掉密码复杂度验证策略alter system set password_policy=0;
输入命令以启动容器:sudo docker run -d --name opengauss -h opengauss --privileged=true -e GS_PASSWORD=Fqw_123@openEuler -e TZ=Asia/Shanghai -p 15432:5432 dockerproxy.cn/enmotech/opengauss:1.0.1 。
输入命令进入容器:sudo docker exec -it opengauss bash。
输入命令以切换用户:su - omm 。
输入命令进入postgres控制台:gsql -d postgres -p5432 。
输入SQL命令:select now(); ,执行成功表示openGauss安装成功:
输入\q 或者 Ctrl + D 退出postgres控制台。
输入命令以退出容器:exit 。
输入命令可以关闭容器:sudo docker rm -f opengauss 。
- 配置 openGauss
如果我们不把OpenGauss
的容器内部文件挂载到Linux本地文件的话, 如果容器被异常关闭, 那么很容易导致我们存储的全部数据丢失。因此需要将数据库文件放到宿主机中,为此,在宿主机中创建要数据库文件存放的目录,并配置好相应的权限。
在openEuler命令行窗口中输入命令sudo mkdir /mnt/c/opengauss 以创建目录:
输入以下命令再次启动容器,指定参数-v 实现数据持久化存储:sudo docker run -d --name opengauss -h opengauss --privileged=true -e GS_PASSWORD=Fqw_123@openEuler -e TZ=Asia/Shanghai -p 15432:5432 -v /mnt/c/opengauss:/var/lib/opengauss dockerproxy.cn/enmotech/opengauss:1.0.1
输入sudo docker logs opengauss命令以查看容器运行状态:
输入命令进入容器:sudo docker exec -it opengauss bash。
输入命令以切换用户:su - omm 。
输入命令进入postgres控制台:gsql -d postgres -p5432 。
输入SQL命令:select * from pg_roles;
输入SQL命令:grant all privileges to gaussdb; ,给用户gaussdb授权超级用户权限,以便于后期客户端连接操作:
输入\q 或者 Ctrl + D 退出postgres控制台。
输入命令以退出容器:exit 。
- 连接数据库
打开navicat ,因为opengauss是基于postgres数据库核心编写的,而navicat没有专门opengauss数据库连接库文件,可以借用postgres连接方式联上opengauss库: