openGauss 基础
前言¶
起因是学校的数据库课程需要使用关系型数据库 openGauss 进行教学,那便研究研究,顺便做个笔记。
官方网站:openGauss 官方网站 | openGauss 主页 | openGauss 社区官网
安装与配置¶
硬件支持¶
- 虚拟机:腾讯云 2 核 2 G 3Mbps 轻量应用服务器(提前放通 5432 安全组便于后期的 SSH 连接)
- 操作系统:CentOS 7.6 64bit
- SSH 工具:Mobaxterm Personal Edition v24.0 Build 5204
下载安装包¶
由于只需要单节点服务,因此我们选择下载 openGauss 5.0.3 (LTS) 轻量版。
我们登录后获取轻量版下载链接,进入 shell 连接云服务器,在合适的位置创建并进入目录。我使用的是 /opt/dbLearning
目录,使用 wget 命令下载安装包至云服务器。
配置安装环境¶
可能是出于安全考虑,openGauss 不允许使用 root 用户运行,因此我们有必要创建普通用户并对一些必要的目录基于必要的权限;同时,目前 openGauss 只能在防火墙关闭的状态下安装,因此我们也不得不关闭防火墙。
创建普通用户 dbuser:
-
创建用户
-
删除用户
-
为新建的用户 dbuser 设置密码
创建数据库安装包解压目录、安装目录、数据目录:
赋予目录权限:
关闭防火墙:
-
查看防火墙状态:
-
关闭防火墙:
-
开启防火墙:
执行安装¶
切换到普通用户 dbuser 的权限:
解压压缩包至安装包目录:
进入 ./install_package/
路径并执行 install.sh
进行安装:
需要输入密码并二次确认。
启停数据库¶
在普通用户 dbuser 下,使用刚才安装下来的 gs_ctl
命令行工具启停 openGauss 数据库。
启动 openGauss:
停止 openGauss:
重启 openGauss:
测试连接¶
现在我们已经可以在 shell 终端使用 openGauss 独有的命令行工具 gsql
进行连接与管理了:
注:初次连接时,dbname 使用缺省值 postgres
,username 就是安装 openGauss 时的用户名 dbuser
(这一点很抽象,直接拿操作系统的用户名作为数据库管理系统的用户名 🤣)。若直接在服务器上连接数据库时,端口和主机可以不填。
进入数据库管理系统后,输入 \l
看到所有的数据库就表明安装配置成功了!
连接 DataGrip¶
仅仅使用自带的命令行工具进行管理有点麻烦,故尝试与本地的 DataGrip 数据库图形化管理软件进行连接。
首先,我们需要修改数据库的配置文件,允许非 localhost 也可以访问数据库。
-
新增 pg_hba.conf 文件两条信息:
-
启用 postgresql.conf 中的密码加密并将加密方式改为 md5,顺便将监听端口设置为 '*':
-
重启 openGauss:
注:openGauss 不允许使用数据库超级用户进行远程连接,因此我们不得不在连接数据库后创建新的数据库管理员,假设就叫 user1。
-
使用默认数据库进行连接:
-
创建新的数据库管理用户:
最后使用本地的 DataGrip 使用 postgre 内核连接服务器的 openGauss 数据库就可以成功了!
并且从 官方 SQL 的用法 来看,使用 CREATE 会在连接的数据库下创建一个与用户名相同的 schema,很诡异但的确如此:
参考¶
Centos7 添加删除用户和用户操作命令_centos7 删除用户命令
报错解决:修改 SEMMNI 解决 openguass 报错
报错解决:gaussdb 启动报错 gs_ctl: invalid data in pid
文档地图 > 工具与命令参考 > 系统内部命令 > gs_ctl
最全 IDEA、Navicat、DataGrip 连接 openGauss 数据库_datagrip opengauss