环境说明
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对应的版本。
依赖包安装
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。