环境说明

opengauss版本: 5.1.0
OS: centos7.6(官方是这样要求的)
CPU: x64
gcc: 7.3.1(版本要求7.3.0,实测用7.3.1也可以)

虚拟机配置推荐4核8G,内存太小则编译会报一些g++内部错误。

gcc版本升级

打开Additional Repositories

sudo yum install epel-release

安装Software Collections (SCL)

sudo yum install centos-release-scl

安装gcc7

sudo yum update
sudo yum install devtoolset-7-gcc*

enable gcc7

scl enable devtoolset-7 bash

检查版本

[root@mysql vagrant]# gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)

配置默认使用gcc7

echo "source scl_source enable devtoolset-7" >> ~/.bashrc

cmake安装

这一步应该不需要

sudo yum install cmake3

[root@mysql openGauss-server-5.1.0]# cmake3 --version
cmake3 version 3.17.5

CMake suite maintained and supported by Kitware (kitware.com/cmake).

opengauss代码下载

https://gitee.com/opengauss/openGauss-server
https://gitee.com/opengauss/openGauss-server/releases/tag/5.1.0

3rd包下载

3rd可以自己编译,也可以下载官方预编译的版本。这里直接下载预编译的版本,但是要注意选择与opengauss server对应的版本。

3rd包

centos7.6 gcc7.3用3rd编译好的包

image.png

依赖包安装

yum install libaio-devel flex bison ncurses-devel glibc-devel patch lsb_release readline-devel

编译opengauss

postgres用户下进行,耗时较长,耐心等待。
编译后,会安装到源码目录下的mppdb_temp_install。
-3rd为上述下载的3rd依赖包。

bash build.sh -m release -3rd /home/postgres/mysql/og/openGauss-third_party_binarylibs_Centos7.6_x86_64

初始化数据库

postgres用户下

准备数据目录

mkdir mppdb_temp_install/data -p

准备环境变量
PGDATA为上述数据目录

[postgres@mysql openGauss-server-5.1.0]$ cat myenv

export CODE_BASE=$(pwd)
export GAUSSHOME=$CODE_BASE/mppdb_temp_install/
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$PATH
export PGDATA=$GAUSSHOME/data

[postgres@mysql openGauss-server-5.1.0]$ source myenv

初始化数据库

[postgres@mysql openGauss-server-5.1.0]$ gs_initdb --nodename=primary --pwpasswd=opengauss@123

启动数据库

[postgres@mysql openGauss-server-5.1.0]$ gs_ctl start -D /home/postgres/mysql/og/openGauss-server-5.1.0/mppdb_temp_install/data -Z single_node -l logfile

登录数据库

[postgres@mysql openGauss-server-5.1.0]$ gsql postgres

修改密码

ALTER ROLE  postgres PASSWORD 'opengauss@123';

参考文档

https://gitee.com/opengauss/openGauss-server
https://gitee.com/opengauss/openGauss-third_party

// 官方推荐的编译说明,但是也不是很精确,如指定gcc版本部分,不指定也可以。
https://opengauss.org/zh/blogs/xingchen/opengauss_compile.html
https://opengauss.org/zh/blogs/xingchen/gcc_compile.html


黑暗森林
12 声望2 粉丝

弱小和无知不是生存的障碍,傲慢才是!