编译 openGauss
- 下载源码包与第三方软件
- 修改配置文件
- 编译、安装与测试
目录
1 编译前的准备
编译 openGauss 的流程参照了 openGauss编译文档 和 openGauss编译指导书。
编译的流程虽然简单,但网上的博客各有不详细之处。我在首次编译的时候就遇到了无法解决的问题,而本文是将其中我验证过的正确流程加以总结。请先按本文的流程进行编译,如果仍有问题,再阅读官方文档。
编译 openGauss 需要下载 openGauss-server 和 binarylibs 两个组件,后文会给出下载方式。
- openGauss-server:openGauss 的主要代码。可以从开源社区获取。
- binarylibs:openGauss 依赖的第三方开源软件,官方已经做出了一份已经编译过的版本。
然后请在编译前确保下列软件达到要求版本:
软件 | 推荐版本 |
---|---|
libaio-devel | 0.3.109-13 |
flex | 2.5.31及以上版本 |
bison | 2.7-4 |
ncurses-devel | 5.9-13.20130511 |
glibc-devel | 2.17-111 |
patch | 2.7.1-10 |
lsb_release | 4.1 |
readline-devel | 7.0-13 |
yum install unzip gcc-c++ readline readline-devel
yum install libaio-devel flex bison ncurses-devel glibc-devel patch lsb_release
2 下载源码包与第三方软件
- 开源第三方软件:opengauss-openGauss-server-v2.0.0.tar.gz
- openGauss源码:openGauss-third_party_binarylibs.tar.gz
将下载好的文件通过共享文件夹放入目录 /home/omm 下,然后创建用户 omm(如果未创建):
su
groupadd dbgrp -g 2000
useradd omm -g 2000 -u 2000
passwd omm
创建安装目录并把目录的读写权赋给用户omm:
mkdir -p {/opt/og,/opt/ogdata}
chown -R omm: {/opt/og,/opt/ogdata}
chmod -R 755 /opt/og
chmod -R 700 /opt/ogdata
把文件的读写权赋给用户omm,注意正确填写压缩包名称:
chown omm: openGauss-third_party_binarylibs.tar.gz
chmod 755 openGauss-third_party_binarylibs.tar.gz
chown omm: openGauss-server-2.1.0.tar.gz
chmod 755 openGauss-server-2.1.0.tar.gz
此时一定要通过用户 omm 对两个文件进行解压:
su - omm
tar -zxvf openGauss-server-2.1.0.tar.gz
tar -zxvf openGauss-third_party_binarylibs.tar.gz
将压缩包重命名:
mv openGauss-third_party_binarylibs binarylibs
mv openGauss-server-2.1.0 openGauss-server
3 修改配置文件
配置环境变量,如果路径与我不同请进行相应的替换:
export CODE_BASE=/home/omm/openGauss-server
export BINARYLIBS=/home/omm/binarylibs
export GAUSSHOME=/opt/og
export GCC_PATH=$BINARYLIBS/buildtools/centos7.6_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
这里建议在 /.bash_profile 和 /.bashrc 中同样添加:
vim ~/.bash_profile
在文件的末尾添加相同的命令:
export CODE_BASE=/home/omm/openGauss-server
export BINARYLIBS=/home/omm/binarylibs
export GAUSSHOME=/opt/og
export GCC_PATH=$BINARYLIBS/buildtools/centos7.6_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 ~/.bash_profile
对 ~/.bashrc 的操作同上。
4 编译与安装
进入目标文件:
cd /home/omm/openGauss-server
make clean
忽略这里的报错,开始编译:
./configure –prefix=/opt/og
–3rd=/home/omm/binarylibs
–gcc-version=7.3.0
–without-readline
–without-zlib
–enable-thread-safety
CC=g++ CFLAGS=”-O2 -g3”
正常情况得到如下反馈:
接下来 make 的时候需要耐心等待,看到如下提示则表明编译成功:
make
恭喜,接下来开始安装,同样需要十分耐心的等待:
make install
出现 openGauss installation complete 反馈代表安装成功:
5 测试
先查看一下安装版本:
/opt/og/bin/gsql –version
接着初始化数据库:
gs_initdb –nodename=master_5432
–pgdata=/opt/ogdata
–encoding=UTF-8
–locale=en_US.UTF-8
–dbcompatibility=’A’
–username=omm
–pwpasswd=Mypwd123
在 /opt/ogdata/postgresql.conf 中可以修改监听端口,IP地址为‘0.0.0.0’代表监听所有IP:
启动服务:
gs_ctl start -D /opt/ogdata
使用omm用户登陆postgres数据库:
gsql -p 5432 -Uomm postgres
以上完成了 openGauss 编译与安装的全部流程。