华为欧拉openGauss数据库部署及配置远程连接

news/2024/12/31 0:18:00/文章来源:https://www.cnblogs.com/imTxl/p/18451529

1.前置工作

1.1 配置 hosts 文件

vi /etc/hosts
# 新增
192.168.19.128 openeuleros

1.2 配置 limit.conf 文件

vi /etc/security/limits.conf
omm soft nproc unlimited
omm hard nproc unlimited
omm soft nofile 102400
omm hard nofile 102400
omm soft stack unlimited
omm hard stack unlimited
omm soft core unlimited
omm hard core unlimited
omm soft memlock unlimited

1.3 配置 sysctl.conf 文件

vi /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_retries2 = 12
net.ipv4.tcp_rmem = 8192 250000 16777216
vm.overcommit_memory = 0
net.ipv4.tcp_wmem = 8192 250000 16777216
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
fs.aio-max-nr = 1048576
fs.file-max = 76724600
kernel.sem = 4096 2048000 32 32768
kernel.shmall = 1048576
kernel.shmmax = 4294967296
kernel.shmmni = 8192
net.core.netdev_max_backlog = 65535
net.core.somaxconn = 65535
net.ipv4.tcp_fin_timeout = 60
vm.swappiness = 0
net.ipv4.ip_local_port_range = 26000 65535
fs.nr_open = 20480000# 执行刷新配置
sysctl -p

1.4 sysctl.conf 配置文件详情

net.ipv4.tcp_max_tw_buckets = 10000 # 可以提⾼系统处理连接的能⼒,但要注意过多的TIME_WAIT连接可能会影响⽹络的稳定性。
net.ipv4.tcp_tw_reuse = 1 # 提⾼性能:在处理⼤量短连接时(例如Web服务器或API服务),此设置可以显著减少新连接的建⽴时间,提⾼系统的性能和响应速度。节省资源:重⽤TIME_WAIT连接可以减少对新的端⼝的需求,从⽽减少资源消耗。
net.ipv4.tcp_keepalive_probes = 9 # ⽤于控制TCP连接的保持活动(keepalive)机制。
net.ipv4.tcp_keepalive_intvl = 30 # ⽤于配置TCP连接的保持活动(keepalive)机制中的探测间隔。
net.ipv4.tcp_retries1 = 5 # ⽤于配置TCP连接在尝试重传数据包时的初始重试次数。
net.ipv4.tcp_syn_retries = 5 # ⽤于配置在TCP连接建⽴过程中SYN(同步)请求的重试次数。
net.ipv4.tcp_synack_retries = 5 # ⽤于配置在TCP连接建⽴过程中,服务器在接收到SYN请求后,发送SYN-ACK响应的重试次数。
net.ipv4.tcp_retries2 = 12 # ⽤于配置TCP连接在数据包重传失败后的最⼤重试次数。
net.ipv4.tcp_rmem = 8192 250000 16777216 # ⽤于配置TCP连接的接收缓冲区⼤⼩。
vm.overcommit_memory = 0 # ⽤于控制内存分配策略,特别是在进程请求内存时的⾏为。
net.ipv4.tcp_wmem = 8192 250000 16777216 # ⽤于配置TCP连接的发送缓冲区⼤⼩。最⼩发送缓冲区⼤⼩(字节)。默认发送缓冲区⼤⼩(字节)。最⼤发送缓冲区⼤⼩(字节)。
net.core.wmem_max = 21299200 # ⽤于设置⽹络套接字的最⼤发送缓冲区⼤⼩。
net.core.rmem_max = 21299200 # ⽤于设置⽹络套接字的最⼤接收缓冲区⼤⼩。
net.core.wmem_default = 21299200 # ⽤于设置⽹络套接字的默认发送缓冲区⼤⼩。
net.core.rmem_default = 21299200 # ⽤于设置⽹络套接字的默认接收缓冲区⼤⼩。
net.ipv4.tcp_syncookies = 1 # ⽤于启⽤TCP同步Cookies功能,以增强TCP连接的安全性,尤其是在⾯对SYN洪⽔攻击时。
net.ipv4.tcp_sack = 1 # ⽤于启⽤TCP选择确认(Selective Acknowledgment,SACK)功能。
net.ipv4.tcp_timestamps = 1 # ⽤于启⽤TCP时间戳选项。
fs.aio-max-nr = 1048576 # ⽤于设置系统中异步I/O(AIO)操作的最⼤数量。
fs.file-max = 76724600 # ⽤于设置系统可以打开的最⼤⽂件描述符数量。
kernel.sem = 4096 2048000 32 32768 # ⽤于配置信号量(semaphore)相关的系统资源限制。表示每个信号量集的最⼤信号量数量。表示系统中所有信号量集的最⼤数量。表示系统允许的最⼤信号量数量。
kernel.shmall = 1048576 # ⽤于设置系统中共享内存段的总⻚⾯数。
kernel.shmmax = 4294967296 # ⽤于设置单个共享内存段的最⼤⼤⼩。
kernel.shmmni = 8192 # ⽤于设置系统中共享内存段的最⼤数量。
net.core.netdev_max_backlog = 65535 # ⽤于设置⽹络设备接收队列的最⼤等待包数量。
net.core.somaxconn = 65535 # ⽤于设置系统允许的最⼤监听队列⻓度。
net.ipv4.tcp_fin_timeout = 60 # ⽤于设置TCP连接进⼊FIN_WAIT2状态后,系统等待关闭连接的时间。
vm.swappiness = 0 # ⽤于控制系统在内存管理中使⽤交换空间(swap)的倾向。
net.ipv4.ip_local_port_range = 26000 65535 # ⽤于设置本地可⽤的TCP和UDP端⼝范围。
fs.nr_open = 20480000 # ⽤于设置系统中每个进程可以打开的最⼤⽂件描述符数量。

1.5 设置 core_pattern 文件

echo "/home/omm/core_pattern/core-%e-%p-%t" > /proc/sys/kernel/core_pattern # 需要创建用户

2.安装依赖

yum install -y zlib-devel libaio libuuid readline-devel krb5-libs rsync libicu libxslt tcl perl openldap pam openssl-devel libxml2

3.创建用户和组

3.1 创建组

groupadd dbgrp

3.2 创建用户和密码

useradd -g dbgrp -d /home/omm -m omm
echo "强密码" |passwd omm --stdin # 请不要使用 #,$,*,!,& 这类特殊字符作为密码,容易导致后面安装初始化时报错异常。

4.创建目录并传 openGauss 包并解压

4.1 创建 openGauss 相关目录

mkdir -p /home/omm/{openGauss,backup,archive_wals,core_pattern}
mkdir /home/omm/openGauss/logs
chown omm:dbgrp -R /home/omm/
chmod 755 /home/omm/
chmod 700 /home/omm/{openGauss,backup,archive_wals,core_pattern}

4.2 传 openGauss 包

# 上传到普通用户下的openGauss目录中并重新赋权
chown -R omm:dbgrp /home/omm/openGauss/

4.3 解压 openGauss 包

tar zxf $HOME/openGauss/openGauss-5.0.3-openEuler-64bit-all.tar.gz -C $HOME/openGauss
tar jxvf $HOME/openGauss/openGaussopenGauss-5.0.3-openEuler-64bit.tar.bz2 -C $HOME/openGauss

5.配置环境变量

5.1 配置数据库环境变量

vi $HOME/.bashrc
# 最后新增
export LANG=en_US.UTF8
export GAUSSHOME=/home/omm/openGauss
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

5.2 配置数据库参数变量

vi $HOME/.bashrc
# 继续新增
export GS_CLUSER_NAME=dbCluster # 集群名称
export GAUSS_WARNING_TYPE=all   # 告警类型all所有
export GAUSSLOG=$GAUSSHOME/logs # 日志存放路径

5.3 刷新环境变量

source .bashrc

5.4 查看打开文件数量

ulimit -a

6.安装数据库

6.1 部署过程

cd $HOME/openGauss/simpleInstall/
sh install.sh -w openGauss$1234 # 初始化部署密码
...
[2024-10-04 23:41:43.172][59010][][gs_ctl]:  done
[2024-10-04 23:41:43.172][59010][][gs_ctl]: server started (/home/omm/openGauss/data/single_node)
import sql file
Would you like to create a demo database (yes/no)? yes
Load demoDB [school,finance] success.
[complete successfully]: You can start or stop the database server using:gs_ctl start|stop|restart -D $GAUSSHOME/data/single_node -Z single_node
# 注:如上提示证明成功初始化部署完成

6.2 部署异常问题

[step 6]: init datanode
gs_initdb: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
[step 7]: start datanode
gs_ctl: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory-- 解决⽅案:ln -s /usr/lib64/libreadline.so.8 /usr/lib64/libreadline.so.7[step 6]: init datanode
gs_initdb: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
[step 7]: start datanode
gs_ctl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory-- 解决⽅案:ln -s /usr/lib64/libcrypt.so /usr/lib64/libcrypt.so.1

7.服务启停

7.1 启停格式(集群)

$ gs_ctl start|stop|restart -D $GAUSSHOME/data/master -M primary
$ gs_ctl start|stop|restart -D $GAUSSHOME/data/slave -M standby

7.2 启停方法(单节点)

gs_ctl start|stop|restart -D $GAUSSHOME/data/single_node -Z single_node

7.2.1 启动脚本

vi $HOME/yunwei/opengauss_db_5432_start.sh#!/bin/bash
gs_ctl start -D $GAUSSHOME/data/single_node -Z single_node

7.2.2 停止脚本

vi $HOME/yunwei/opengauss_db_5432_stop.sh#!/bin/bash
gs_ctl stop -D $GAUSSHOME/data/single_node -Z single_node

7.2.3 重启脚本

vi $HOME/yunwei/opengauss_db_5432_restart.sh#!/bin/bash
gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node

8.配置数据库客户端配置

8.1 配置 pg_hba.conf

vi $HOME/openGauss/data/single_node/pg_hba.conf
host    all             all             0.0.0.0/0               md5

8.2 配置 postgresql.conf

vi $HOME/openGauss/data/single_node/postgresql.conf
# 修改如下
listen_addresses = '*'
port = 5432
max_connections = 200
password_encryption_type = 0 # 开启远程连接必须设置为0

9.连接数据库并创建用户及授权

9.1 连接数据库

gsql -d postgres -p 5432

9.2 创建数据库和用户

# 创建用户(建议强密码)
create user '新用户' with password '强密码'; # 不需要加单引号
# 创建数据库
create database '数据库名称' owner '新用户'; # 不需要加单引号

9.3 授权用户和数据库

# 授权数据库所有操作
grant all privileges to '数据库名称'; # 不需要加单引号
# 授权数据库给yunwei_auto用户
grant all privileges on database '数据库名称' to '新用户'; # 不需要加单引号

9.4 修改用户密码

ALTER USER '新用户' WITH PASSWORD '强密码'; # 不需要加单引号

9.5 退出并重启服务

# openGauss命令行模式下退出命令
openGauss=# \q# 重启服务
gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node

10.测试登录数据库

10.1 登录数据

gsql -h '数据库地址' -p '数据库端口' -U '新用户' -d '连接数据库的名称' # 不需要加单引号

10.2 登录异常问题

./gsql: error while loading shared libraries: libssl.so.1.1: cannot open shared objectfile: No such file or directory-- 解决⽅案:ln -s /usr/lib64/libssl.so /usr/lib64/libssl.so.1.1,需要退出普通⽤户重新登录刷新配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/809947.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day02_基本的DOS命令

电脑常用快捷键 常用快捷键快捷键 作用CTRL + c 复制CTRL + v 粘贴CTRL + x 剪切CTRL + z 撤销CTRL + s 保存alt + f4 关闭窗口del 删除shift + del 强制删除Windows + r 打开 “运行” 窗口windows + e 打开 “我的文档”ctrl + alt + del 锁定/切换用户/注销/更改密码/任务管…

组态也能开发WEB前端 | uiotos致敬amis、nodered、appsmith、codewave、goview、dataroom、iotrouter、FUXA、乐吾乐

WEB组态开发SCADA、HMI画面、大屏可视化,还比较常见。比如下面: UIOTOS组态示例 那么常规WEB前端功能,组态能否一并做了呢?比如下面这种: UIOTOS前端示例 答案是可以的!UIOTOS支持页面无限嵌套,能实现原型即应用。现在就以一个具体小示例介绍如何实现的。 效果 如下所示…

GUI无代码小示例 - 工作流连线实现0/1连续翻转

效果 如下所示,连续点击按钮,输出0、1、0、1...。 步骤新建页面,拖入组件拖入3个组件:数学计算、输入框、按钮。如下所示: 连线和配置按钮点击 → 函数执行1减去输入,作为函数输出这样,当首次执行时,默认操作数1将减去输入的1,输出0。 函数输出→ 输入框 → 函数输入 …

Java生成条形码(亲测可通过扫码枪扫出)

Java生成条形码(亲测可通过扫码枪扫出) 秃秃爱健身该博客介绍了如何在Java项目中通过barcode4j库生成Code128条形码,解决了条形码扫不出或美观度不足的问题。提供了相关代码示例,包括Maven依赖、工具类和生成条形码的方法,可以自定义条形码的高度、宽度、是否留白和隐藏文…

点“亮”户外应用场景,来看触想高亮显示器TPC-M8的硬实力!

工业显示器作为信息可视化和人机交互的重要媒介,正在越来越多领域担当关键任务,工业显示器的可读性及耐用性,影响应用体验、设备安全和生产效率。尤其在户外,面对高低温、灰尘雨水、强光紫外线等极端因素,常规性能的工业显示器已不足以覆盖户外高风险应用需求。为此,触想…

phpvulhunter工具:静态 php 代码审计

phpvulhunter是一款PHP源码自动化审计工具,通过这个工具,可以对一些开源CMS进行自动化的代码审计,并生成漏洞报告。 1、安装 首先从github上进行获取: git clone https://github.com/OneSourceCat/phpvulhunter2、下载完成后,将工程目录放置于 WAMP 等 PHP-Web 运行环境中…

YOLOv8-seg训练与推理

1.YOLOv8-seg简介 YOLOv8-seg是YOLO系列模型的其中一个版本。YOLOv8-seg在继承YOLO系列模型高效性和准确性的基础上,增加了实例分割的能力。 2.数据集使用的数据集较简单,主要以下目录:images:存放原始图片(1500张),大小为128x128。部分如下: images_json:存放labelme标注的…

易基因: cfMeDIP-seq揭示cfDNA甲基化高效区分原发性和转移性前列腺|Nat Commun

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 前列腺癌(Prostate cancer,PCa)是男性中第二常见的恶性肿瘤,也是全球癌症相关死亡的第三大原因。虽然大多数原发性前列腺癌可以治愈,但转移性前列腺癌患者的5年生存率仍低至30%。大多数患者很快就会发展成…

从零搭建Xswitch进行测试

1 xswitch官网 拉取社区版xwitch docker镜像,编译之,修改.env文件 ,把docker跑起来,这个是核心服务 跑起来如下,端口映射不需要管,他内部做好的,默认sip使用7060 前端ws连接端口 8081 wss连接端口 8082 2 自己照着官网ES6 demo 例子写 Vetro 例子,我是用的vue搞的前端…

【日记】医生拆线居然还能没拆干净(1796 字)

正文早上拆线,医院的门诊登记簿上写名字排队。我前面人还挺多。不过医生问过前面的情况之后,就先给我做了,因为拆线快。等我到市里转车,吃过饭后才发现,那个医生拆线没拆干净…… 吃了饭感觉口腔里还是有奇怪的东西,那个粗糙的质感,确定是线头没错了……找了个酒店的卫生…

Docker 学习笔记-基本概念与安装

Docker 学习笔记 基本概念镜像:Docker 的镜像概念类似于虚拟机里的镜像,是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。 DockerFile;镜像可以基于 DockerFile 构建,DockerFile 是一个描述文件,里面包含若干条命令,每条命令都会对…

面相快速入门教程7木型

7 木型 在本章中,我将介绍木型的基础知识,你将学会如何识别木型。首先,我们来快速参考一下木的特征:能量:向上、推动、活跃、早晨、春天、童年 特质:乐观、热情、活跃、人道主义、自信、愤怒、沮丧、冲动、反应灵敏、直接、敏锐、实际、逻辑性强、有条理、果断、有判断力…