【基于VirtualBox及openEuler20.03 TLS SP1编译openGauss2.1.0源码】
【openEuler 20.03 TLS编译openGauss2.1.0源码】
- 一、安装环境
- 二、安装步骤
一、安装环境
| 项目 | Value |
|---|---|
| 虚拟机 | virtualbox |
| 操作系统 | openEuler 20.03 TLS |
| openGauss | 2.1.0 |
| openGauss-third_party | 2.1.0 |
二、安装步骤
以下操作需要在root用户下执行
-
编辑/etc/selinux/config
vim /etc/selinux/config设置:SELINUX=disabled
该步骤需要重启:reboot -
关闭防火墙
systemctl disable firewalld.servicesystemctl stop firewalld.servicesystemctl status firewalld -
设置字符集参数
cat >>/etc/profile<<EOF export LANG=en_US.UTF-8 EOF输入如下命令,使修改生效。
source /etc/profile -
修改python版本并安装libaio包
之前安装过程中openGauss用户互信,openEuler服务器需要用到Python-3.7.x命令,但是默认Python版本为Python-2.7.x,所以需要切换Python版本。cd /usr/bin mv /usr/bin/python /usr/bin/python.bak ln -s python3 /usr/bin/python python -V yum install libaio* -y -
创建openGauss数据库的安装用户opengauss及其属组dbgrp
groupadd dbgrp useradd -g dbgrp -u 1000 -d /home/opengauss opengauss修改opengauss用户密码:
passwd opengauss #回车,输入用户密码 -
创建openGauss源码存放及openGauss安装路径
mkdir -p /opt/software/openGauss/data chown opengauss:dbgrp -R /opt/software chmod 755 -R /opt/software -
安装git
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/openEuler.repo yum clean all yum makecache yum update --allowerasing --skip-broken --nobest -y最后执行安装git的命令,如下:
yum install git -y安装git-lfs,下载git-lfs-3.4.0-1.el7.x86_64.rpm
rpm -ivh git-lfs-3.4.0-1.el7.x86_64.rpm -
下载openGauss源码和openGauss-third_party_binarylibs第三方库,进入到/opt/software目录下 ,下载openGauss2.1.0 源码和下载openGauss-third_party_binarylibs-2.1.0,由于开源软件编译构建耗时长,我们特地使用openGauss-third_party编译构建出了一份binarylibs并压缩上传到了网上,用户可以直接下载获取。下载比较慢,请稍等几分钟:
下载源码:cd /opt/software git clone https://gitee.com/opengauss/openGauss-server.git openGauss-server -b 2.1.0下载第三方依赖:
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.1.0/openGauss-third_party_binarylibs.tar.gz下载完毕后请解压,重命名文件夹为 binarylibs
tar -zvxf openGauss-third_party_binarylibs.tar.gz mv openGauss-third_party_binarylibs binarylibs至此,/opt/software 目录下已经有了openGauss和第三方库,如下所示:
ls -l # 结果如下 drwxr-xr-x 7 root root 4.0K Mar 20 2022 binarylibs drwxr-xr-x 10 root root 4.0K Jun 5 19:52 openGauss drwxr-xr-x 12 root root 4.0K Jun 5 19:52 openGauss-server -rwxr-xr-x 1 root root 2.6G Mar 20 2022 openGauss-third_party_binarylibs.tar.gz -
安装编译openGauss-server所需要的第三方依赖库,具体如下所示:
yum install -y libaio-devel ncurses-devel pam-devel libffi-devel libtool libtool-devel libtool-ltdl openssl-devel bison golang dkms python3-devel patch autoconf readline-devel gcc-c++ libstdc++-devel automake texinfo indent byacc cmake diffutils help2man gettext-devel readline-devel m4具体可以参考:版本编译
-
手动安装lsb_release
下载openeuler-lsb-5.0-1.oe2203.src.rpm包并上传到/root目录下
执行:rpm -ihv openeuler-lsb-5.0-1.oe2203.src.rpm,该命令执行完成后,会在当前目录下生成rpmbuild目录,执行:/root/rpmbuild/SOURCES,进入rpmbuild目录会看到openeuler-lsb-5.0.tar.bz2,将其解压缩,执行:tar -xvf openeuler-lsb-5.0.tar.bz2,进入解压后的目录openeuler-lsb-5.0,将其中的lsb_release复制到/usr/bin目录下,具体命令如下:rpm -ihv openeuler-lsb-5.0-1.oe2203.src.rpm cd /root/rpmbuild/SOURCES tar -xvf openeuler-lsb-5.0.tar.bz2 cd openeuler-lsb-5.0 cp lsb_release /usr/bin/lsb_release验证lsb_release是否已经安装成功,执行:
[root@sjmopengauss02 ~]# lsb_release -a LSB Version: n/a Distributor ID: openEuler Description: openEuler release 20.03 (LTS) Release: 20.03 Codename: LTS [root@sjmopengauss02 ~]# -
手动安装flex-2.5.39,将flex-2.5.39.tar.bz2上传到虚拟机,解压编译安装即可
cd /root tar -xvf flex-2.5.39.tar.bz2 cd flex-2.5.39/ ./configure make -j4 make install -j4 ln -s /usr/local/bin/flex /usr/bin/flex flex --version -
修改openGauss源代码所在目录及其子目录的用户及其用户组以及权限,执行:
chown opengauss:dbgrp -R /opt chmod 755 -R /opt
【以下是在opengauss用户下操作】
-
【
以opengauss用户登录ECS】配置环境变量,编辑~/.bashrc文件,在该文件末尾添加如下所示内容:export CODE_BASE=/opt/software/openGauss-server # openGauss-server源码的路径 export BINARYLIBS=/opt/software/binarylibs # binarylibs的路径 export GAUSSHOME=/opt/software/openGauss/ # openGauss安装路径,可修改成你自己的 export GCC_PATH=$BINARYLIBS/buildtools/openeuler_x86_64/gcc7.3/ export CC=$GCC_PATH/gcc/bin/gcc export CXX=$GCC_PATH/gcc/bin/g++ export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH环境变量生效,执行:
source ~/.bashrc -
【配置openGauss源码】进入/opt/software/openGauss-server目录下,选择版本进行configure。我们这里选择debuge版本,执行如下代码:
./configure --gcc-version=7.3.0 --enable-mot CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib -
【编译并安装openGauss】当前一步骤执行成功后,在/opt/software/openGauss-server目录下执行:
make -j4编译成功的结果如下图所示:

安装openGaussmake install -j4安装成功结果如下信息提示:
make[1]: Leaving directory '/opt/software/openGauss-server/contrib/hstore' openGauss installation complete.- 【初始化openGauss数据库】当安装openGauss成功后,需对其进行数据初始化, 在初始化数据库时,需要设置数据库密码,并且要使用复杂密码,如下命令。
gs_initdb -D $PGDATA --nodename=hostname --locale="en_US.UTF-8" -Atrust -w {password},具体可参考如下命令:其中–nodename后面的hostname需要修改成你自己ecs的主机名称
gs_initdb -D /opt/software/openGauss/data --nodename=openeuler01 --locale="en_US.UTF-8" -Atrust -w 'openGauss@1234'初始化成功截图如下所示:

- 【初始化openGauss数据库】当安装openGauss成功后,需对其进行数据初始化, 在初始化数据库时,需要设置数据库密码,并且要使用复杂密码,如下命令。
-
【启动数据库】
gs_ctl start -D /opt/software/openGauss/data -Z single_node -l logfile成功启动结果如下图所示:

-
【登录数据库】
gsql -d postgres -p 5432 -r成功登录截图:

-
创建数据库db01,执行:
create database db01;

-
退出数据库,执行:
\q
至此已经完成了基于openEuler20.03TLS编译openGauss-2.1.0的全部工作。如本文对您有所帮助,麻烦动动您发财的手指点个赞或者转发,感谢支持~~~~~
相关文章:
【基于VirtualBox及openEuler20.03 TLS SP1编译openGauss2.1.0源码】
【openEuler 20.03 TLS编译openGauss2.1.0源码】 一、安装环境二、安装步骤 一、安装环境 项目Value虚拟机virtualbox操作系统openEuler 20.03 TLSopenGauss2.1.0openGauss-third_party2.1.0 二、安装步骤 以下操作需要在root用户下执行 编辑/etc/selinux/config vim /etc/s…...
hibernate 使用注解+拦截器实现自动开启、关闭session,提交、回滚事务
hibernate 使用注解+注解拦截器实现自动开启、关闭session,开启、提交、回滚事务 项目为springboot项目 ,springboot版本为:2.5.11, hiernate-core5.4.3 版本。spring-xxx 等为5.3.17版本 注意:在spring-xxx4.x版本+ hiernate-core5.x.x版本中,hibernate的配置 true是有效的…...
Solidworks学习笔记
本内容为solidworks的学习笔记,根据自己的理解进行记录,部分可能不正确,请自行判断。 学习视频参考:【SolidWorks2018视频教程 SW2018中文版软件基础教学知识 SolidWorks自学教程软件操作教程 sw视频教程 零基础教程 视频教程】 h…...
Redis经典五大类型源码及底层实现(一)
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…...
数据库闭包求法 附相关习题及解析
闭包就是由一个属性直接或间接推导出的所有属性的集合 以下是写的比较科学规范的闭包求解方法,设X和Y均为关系R的属性集的子集,F是R上的函数依赖集,若对R的任一属性集B,一旦X→B,必有B⊆Y,且对R的任一满足…...
idea利用JRebel插件,无需重启,实现Spring Boot项目热重载,节省开发时间和精力!
插件介绍 官方介绍 翻译过来的意思是: JRebel 是一款提高开发效率的工具,允许开发者立即重新加载代码更改。它跳过了在Java开发中常见的重新构建、重启和重新部署循环。JRebel 能够让开发者在相同的时间内完成更多工作,并且在编码时能够保持…...
学习体系结构 - AArch64内存管理
学习体系结构 - AArch64内存管理 Learn the architecture - AArch64 memory management Version 1.2 个人的英语很一般,对拿不准的翻译校准在后面添加了英文原文。 1、 概述 本指南介绍了AArch64中的内存转换,这是内存管理的关键。它解释了如何将虚拟地…...
Vue3 精通指南:如何在 setup 函数中巧妙利用 Vuex
在 Vue 3 中,如果你使用了组合式 API(Composition API),你可以通过 setup 函数来设置组件的响应式状态和逻辑。要在 setup 函数中访问 Vuex 的 $store,你可以使用 useStore 钩子,它是 Vuex 4 为 Vue 3 提供…...
Linux 服务器安全策略技巧:启用账户锁定策略
Linux 服务器安全策略技巧:启用账户锁定策略 在Linux服务器上,启用账户锁定策略是一种重要的安全措施。通过锁定账户,可以防止未经授权的访问和恶意活动。本文将介绍如何在Linux服务器上启用账户锁定策略。 什么是账户锁定策略? 账户锁定策略是一种安全措施,用于限制对…...
野火霸道-V2+3.2寸屏+FreeRTOS+LVGL移植
摘要 基于野火霸道-V23.2寸屏的开发板,下载器为STLINK分为两个版本,FreeRTOS和裸机版本 裸机 裸机准备 lvgl v8.2版本的源码野火的《触摸画板-3.2寸》与《基本定时器》的代码例程 移植 将基本定时器代码移植到触摸画板-3.2寸的例程中,…...
操作教程|MeterSphere UI测试+VNC:简单、快捷地查看UI测试实时执行详情
编者注:本文为CSDN博主hxe116的原创文章。 原文链接为:https://blog.csdn.net/hxe116/article/details/134714960?spm1001.2014.3001.5502 作为一款一站式的开源持续测试平台,MeterSphere涵盖了测试跟踪、接口测试、UI测试和性能测试等功能…...
工具--Git详解
在当今的数字时代,版本控制系统已成为开发人员和团队之间协作的重要工具。其中,Git是最受欢迎的版本控制系统之一。它不仅在软件开发中广泛使用,还被应用于许多其他领域。在这篇博客中,我们将深入了解Git的工作原理、基本命令以及…...
windows server 2022 启用SYN攻击保护
2023.12.28 SYN攻击是什么: SYN攻击是黑客攻击的常用手段,也是最容易被利用的一种攻击手法,属于DDoS攻击的一种。它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。 SYN攻击包括大量TCP连接的第一个包&…...
汽车保养软件app开发步骤
“增强您的动力,为您的旅程加油——每一刻都讲述着关爱的故事。构建汽车维护软件app,为您的车辆提供数字化的维修站,从而开启长寿之路。智能驾驶、互联驾驶、自信驾驶。” 疯狂地搜索旧收据并猜测上次换油时间的日子已经一去不复返了。如果您…...
【HarmonyOS】ArkTS语言介绍与组件方式运用
从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…...
音频播放软件Foobar2000 mac特点介绍
Foobar2000 mac是一款高度可定制的音频播放器,适用于Windows平台。它支持各种音频格式,包括MP3、FLAC、AAC、WMA等,同时也支持各种音频插件和效果器,可以提供更好的音质和用户体验。 Foobar2000 mac软件特点 1. 高度可定制&#…...
Oracle动态性能视图 v$parameter 和 v$parameter2 的区别
v$parameter 的说明见这里: V$PARAMETER displays information about the initialization parameters that are currently in effect for the session. v$parameter2 的说明见这里: V$PARAMETER2 displays information about the initialization paramet…...
ssrf之dict协议和file协议
1.dict协议 dict是什么协议呢? 定义:词典网络协议,在RFC 2009中进行描述。它的目标是超越Webster protocol,并允许客户端在使 用过程中访问更多字典。Dict服务器和客户机使用TCP端口2628。 官方介绍:http://dict.o…...
OpenAI GPT 模型 API 接口新增参数 top_logprobs 和 logprobs
文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 在最新的 OpenAI 官方 APIs 文档中,Create chat completion 中新增了 top_logprobs 和 logprobs 这两个关键参数。 官方文档地址ÿ…...
React项目打包流程
一、React项目打包流程 一、React项目打包流程1. 项目打包打包命令:npm run build2. 预览接着命令行会提示执行: 先:npm install -g serve 然后执行此命令:serve -s build二、打包优化 - 配置路由懒加载 二、打包优化 - 配置路…...
基于Playwright的Instagram自动化技能包:原理、实现与智能体集成
1. 项目概述与核心价值最近在折腾个人智能助理,想让它能帮我处理一些社交媒体上的琐事,比如自动查看Instagram上的新动态、给特定帖子点赞或者保存一些有趣的图片。在网上搜了一圈,发现了一个叫adamanz/instagram-skill的开源项目,…...
从零构建GUI自动化测试框架:openclaw-maxauto核心原理与实战
1. 项目概述:一个面向自动化测试的“机械爪”看到Maxch3306/openclaw-maxauto这个项目标题,我的第一反应是:这应该是一个与自动化测试或机器人控制相关的开源工具。拆解一下,“openclaw”直译为“开放的爪子”,很容易联…...
SpleeterGui:3分钟实现专业级音乐人声分离的AI工具指南
SpleeterGui:3分钟实现专业级音乐人声分离的AI工具指南 【免费下载链接】SpleeterGui Windows desktop front end for Spleeter - AI source separation 项目地址: https://gitcode.com/gh_mirrors/sp/SpleeterGui 对于音乐爱好者、内容创作者和音乐教育工作…...
Windows Cleaner:解决C盘爆红问题的3个高效方法
Windows Cleaner:解决C盘爆红问题的3个高效方法 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 当您的Windows电脑C盘突然变红,可用空间告…...
如何快速掌握Diablo Edit2:暗黑破坏神2终极角色编辑器使用指南
如何快速掌握Diablo Edit2:暗黑破坏神2终极角色编辑器使用指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit Diablo Edit2是一款功能强大的暗黑破坏神2角色存档编辑器,支…...
RK3568金融自助终端方案:AI边缘计算与高可靠设计实践
1. 项目概述:当金融自助终端遇上RK3568最近几年,如果你留意过银行网点或者一些商业中心,会发现自助终端的形态正在发生一些微妙的变化。从传统的ATM机,到如今功能繁多的VTM(远程视频柜员机)、智能柜台、自助…...
如何在5分钟内掌握BilibiliDown:B站视频下载神器完整使用指南
如何在5分钟内掌握BilibiliDown:B站视频下载神器完整使用指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mi…...
基于ESP32-S3的免焊接RGB矩阵屏驱动方案:从硬件解析到项目实战
1. 项目概述:从零到一的免焊接RGB矩阵显示方案如果你曾经尝试过驱动一块RGB LED矩阵屏,大概率会经历一段“痛并快乐着”的时光。快乐在于,当代码跑通,绚丽的色彩在眼前流动时,那种成就感无与伦比;痛苦则在于…...
别再死记硬背了!手把手教你理解UVM寄存器模型中的reg2bus与bus2reg(附APB总线实战代码)
深入解析UVM寄存器模型:揭秘reg2bus与bus2reg的自动化魔法 在芯片验证领域,UVM寄存器模型堪称验证工程师的"瑞士军刀",但其中两个核心转换函数——reg2bus和bus2reg却让不少初学者感到困惑。为什么我们只需要实现这两个函数&#x…...
Buildah:从Dockerfile到OCI镜像的构建原理与生产实践
1. 项目概述:从 Dockerfile 到 OCI 镜像的“幕后推手”如果你用过 Docker,那你一定对docker build命令和Dockerfile不陌生。输入一行命令,等待片刻,一个包含了应用及其所有依赖的、可移植的容器镜像就生成了。这感觉就像魔法&…...
