opengauss-basic
本文最后更新于 2024年9月20日 下午
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:
-
创建用户
1
sudo useradd dbuser
-
删除用户
1
sudo userdel -r dbuser
-
为新建的用户 dbuser 设置密码
1
sudo passwd dbuser
创建数据库安装包解压目录、安装目录、数据目录:
1 |
|
赋予目录权限:
1 |
|
关闭防火墙:
-
查看防火墙状态:
1
systemctl status firewalld
-
关闭防火墙:
1
systemctl stop firewalld.service
-
开启防火墙:
1
systemctl start firewalld.service
执行安装
切换到普通用户 dbuser 的权限:
1 |
|
解压压缩包至安装包目录:
1 |
|
进入 ./install_package/
路径并执行 install.sh
进行安装:
1 |
|
需要输入密码并二次确认。
启停数据库
在普通用户 dbuser 下,使用刚才安装下来的 gs_ctl
命令行工具启停 openGauss 数据库。
启动 openGauss:
1 |
|
停止 openGauss:
1 |
|
重启 openGauss:
1 |
|
测试连接
现在我们已经可以在 shell 终端使用 openGauss 独有的命令行工具 gsql
进行连接与管理了:
注:初次连接时,dbname 使用缺省值 postgres
,username 就是安装 openGauss 时的用户名 dbuser
(这一点很抽象,直接拿操作系统的用户名作为数据库管理系统的用户名 🤣)。若直接在服务器上连接数据库时,端口和主机可以不填。
1 |
|
进入数据库管理系统后,输入 \l
看到所有的数据库就表明安装配置成功了!
连接 DataGrip
仅仅使用自带的命令行工具进行管理有点麻烦,故尝试与本地的 DataGrip 数据库图形化管理软件进行连接。
首先,我们需要修改数据库的配置文件,允许非 localhost 也可以访问数据库。
-
新增 pg_hba.conf 文件两条信息:
1
2host all all 10.0.4.14/32 md5
host all all 0.0.0.0/0 md5 -
启用 postgresql.conf 中的密码加密并将加密方式改为 md5,顺便将监听端口设置为 ‘*’:
1
2
3password_encryption_type = 0
listen_address ='*' -
重启 openGauss:
1
gs_ctl restart
注:openGauss 不允许使用数据库超级用户进行远程连接,因此我们不得不在连接数据库后创建新的数据库管理员,假设就叫 user1。
-
使用默认数据库进行连接:
1
gsql -d postgres -U dbuser
-
创建新的数据库管理用户:
1
CREATE USER user1 IDENTIFIED BY '<password>';
最后使用本地的 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