当前位置: 首页 > news >正文

openGauss数据库在CentOS 7 中的单机部署与配置

部署

版本选择

通过openGuass官网下载地址 ,我们可以看到它支持x86_64Aarch64两种平台,又分成openEuler 22、openEuler 20、Centos 7以及Docker 版本。

进入CentOS 7标签,看到又分成企业版、轻量版、极简版与分布式镜像版。

本文只讨论CentOS 7系统,所以下载的是x86_64平台的CentOS 7 的轻量版中的6.0.1版本。(轻量版相比企业版,少了集群管理工具。)

上传到主机

openGauss安装与运行的用户不能是root。

所以我们新建一个用户user1,然后把openGauss-Server-6.0.1-CentOS7-x86_64.tar.bz2上传到CenOS 7的主机上,解压到user1的$HOME目录中。

之后我们以user1用户登录,就会发现当前目录(即$HOME)下是从openGauss安装包解压出来的全部文件。

目录列表如下:

[user1@localhost ~]$ ls  
bin  data  etc  include  jre  lib  logs  share  simpleInstall  version.cfg

我们进入simpleInstall:

[user1@loaclhost ~]$ cd simpleInstall

会看到一个install.sh,还有一个README.md

通过阅读README.md文件,安装openGauss的过程非常简单,只需要执行sh install.sh -w password(password是初始化数据库的密码,需要满足复杂度要求)即可。

但是,我们直接执行,却会报一个SEMMNI的错误:

[step 1]: check parameter  
[step 2]: check install env and os setting  
On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please  
check it.  
The required value should be greater than 321. You can modify it in file '/etc/sysctl.conf'.

通过查询官方文档,我们发现是需要设置kernel.sem

比如可以执行:

[root@loachost ~]# sysctl -w kernel.sem=250 85000 250 330

或者现在/etc/sysctl.conf里加入一行:

kernel.sem=250 85000 250 330

之后执行sysctl -p

设置好kernel.sem之后执行sh install.sh -w password就一路顺风了。

运行

因为我们是安装的单机版,所以install.sh执行之后,会把数据库的数据目录设置为$HOME/data/single_node

所以,我们后续的很多命令,只要需要指定数据目录的地方,都需要使用-D $HOME/data/single_node

其中,install.sh脚本还做了一件事,就是在当前用户的.bashrc文件里,加入了openGauss相关的环境变量,即:

export GAUSSHOME=/home/user1  
export PATH=$GAUSSHOME/bin:$PATH  
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH  
export GS_CLUSTER_NAME=dbCluster  
ulimit -n 1000000

之后就可以通过$GAUSSHOME来表示数据库安装路径了。

gs_ctl

控制启停的命令是gs_ctl,执行的时候加上数据目录。

如:

[user1@localhost ~]$ gs_ctl stop -D data/single_node  
[2025-07-18 06:52:22.364][5624][][gs_ctl]: gs_ctl stopped ,datadir is /home/user1/data/single_node    
waiting for server to shut down.... done  
server stopped

或者:

[user1@localhost ~]$ gs_ctl start -D data/single_node  
[2025-07-18 06:52:28.781][5634][][gs_ctl]: gs_ctl started,datadir is /home/user1/data/single_node    
[2025-07-18 06:52:28.815][5634][][gs_ctl]: waiting for server to start...

配置

默认地,openGauss只监听本地端口,我们可以改变这个配置。

数据库路径下的postgresql.conf,其中有监听地址与端口的配置。

# - Connection Settings -#listen_addresses = 'localhost'         # what IP address(es) to listen on;# comma-separated list of addresses;# defaults to 'localhost'; use '*' for all# (change requires restart)
#local_bind_address = '0.0.0.0'
#port = 5432   

其中,

  • listen_address 监听地址
  • port 端口

改好以后重启,openGauss就监听在我们指定的IP和端口上了。

但是这时候,如果我们在远程连接这个数据库,还会出错:

gsql: FATAL:  no pg_hba.conf entry for ...

只是需要我们在数据目录下面的pg_hba.conf中,把我们的客户端主机、用户名以及认证方法加进去。

首先,本地登录psql,在数据库中创建用户:

=# create user dbuser1 password 'dbpass@123';  
CREATE ROLE

然后,我们在pg_hba.conf中, 加入一行:

host   all             dbuser1          192.168.56.0/24        sha256

就可以在远程客户机上使用dbuser1用户登录了,命令为:

gsql school -h 192.168.56.1 -U dbuser1
Password for user dbuser1:    
gsql ((openGauss 6.0.1 build 84c20a90) compiled at 2025-01-17 17:29:32 commit 0 last mr  )  
Non-SSL connection (SSL connection is recommended when requiring high-security)  
Type "help" for help.  school=>
http://www.dtcms.com/a/297058.html

相关文章:

  • VMware虚拟出来的centos中设置静态ip
  • fish-speech 在50系列显卡使用 --compile加速兼容
  • Rust + Tauri 开发所需环境清单(以 Windows 为例)
  • 【unitrix】 6.16 非负整数类型( TUnsigned )特质(t_unsingned.rs)
  • [Rust 基础课程]猜数字游戏-获取用户输入并打印
  • 智能问答分类系统:基于SVM的用户意图识别
  • 弹性网:基于神经网络的多组分磁共振弹性成像波反演与不确定性量化|文献速递-医学影像算法文献分享
  • 奥比中光的dabai_dcw2相机彩色对齐方案
  • Android Camera setRepeatingRequest
  • 11. isaacsim4.2教程-Transform 树与Odometry
  • Java面试题(中等)
  • Cartographer安装测试与模块开发(三)--Cartographer在Gazebo仿真环境下的建图以及建图与定位阶段问题(实车也可参考)
  • 融合与智能:AI 浪潮驱动下数据库的多维度进化与产业格局重塑新范式
  • 深入解析Linux匿名管道机制与应用
  • 从数据孤岛到融合共生:KES V9 2025 构建 AI 时代数据基础设施
  • Lua 函数
  • JAVA_THIRTEEN_常用API
  • 星慈光编程虫2号小车讲解第三篇--附件概述
  • ai存在意义的对话
  • 从零开发Java坦克大战:架构设计与难点突破 (上)
  • 星慈光编程虫2号小车讲解第二篇--向左向右平移
  • 处理URL请求参数:精通`@PathVariable`、`@RequestParam`与`@MatrixVariable`
  • 结构化布线系统详解
  • Datawhale AI 夏令营-心理健康Agent开发学习-Task2.1
  • 基于GNS3的Zabbix企业级监控实践:涵盖基础配置与三大核心服务监控
  • 星慈光编程虫2号小车讲解第四篇--触摸按键
  • 星慈光编程虫2号小车讲解第一篇--向前向后
  • redis 源码阅读
  • Day 20:奇异值SVD分解
  • 学着学着 我就给这个 HarmonyOS 应用增加了些新技术