1 安装wsl
请自行在网上了解wsl是什么,以及如何在wsl中安装centos 7:
- 在windows 11中,启用wsl
- 下载centos 7的wsl 安装包
- 在wsl中,安装centos 7
- 进入centos 7,创建普通用户,建议使用mobaxterm直接登录wsl中的centos系统
- 配置centos 7的yum源
2 准备环境
下载opengauss源码
git clone -b master git@gitee.com:opengauss/openGauss-server.git下载第三方库
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz解压第三方库
# 解压压缩包 tar -zxvf openGauss-third* # 归档压缩包 mkdir tmp mv *.tar.gz tmp # 重命名压缩包 mv openGauss-third* third下载依赖库
yum install -y libaio-devel flex bison ncurses-devel patch readline-devel # 单独安装 glibc-devel yum install glibc-devel # 如果报错,提示安装了.i686版本的glibc-devel,则修改yum配置文件: # echo "exclude=*.i686" >> /etc/yum.conf # 如果报错,提示glibc-devel与glibc-common不匹配,则降级glibc和glibc-common # yum downgrade glibc glibc-devel glibc-common glibc-headers # 降级后,再重新安装 glibc-devel 即可 # yum install glibc-devel设置环境变量
首先,请确保目录结构如下:|-- 父目录 |-- openGauss-server |-- third在父目录下,生产环境变量脚本:
echo " export CODE_BASE=`pwd`/openGauss-sever export BINARYLIBS=`pwd`/third export GAUSSHOME=`pwd`/install export GCC_PATH=$BINARYLIBS/buildtools/gcc10.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 " > oenv
3 编译openGauss
设置环境变量
source oenv配置编译选项
cd openGauss-server ./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib编译数据库
# 以下命令中,参数j表示,并发编译数据库,10表示并发数,如果不设置数字10,则默认并发数为CPU核数,即所有CPU核都参与编译,这样可能会导致系统卡住,因此最好将并发数设置为小于CPU核数的数字。我的CPU是20核,因此,将并发数设置为10 make -sj 10收集编译结果
# 将上一步生产的编译结果,统一收集到环境变量$GAUSSHOME目录下 # 社区的编译脚本有点问题,建议make install命令中,不要加参数j make install -s
4 安装openGauss
初始化数据库
gs_initdb -D $GAUSSHOME/data1 -w "gauss@123" --nodename='node1'启动数据库
gs_ctl start -D $GAUSSHOME/data1 -Z single_node连接数据库
gsql -d postgres停止数据库
gs_ctl stop -D $GAUSSHOME/data1
alias gcode='cd /home/shenkun/openGauss-server'
alias genv='gcode && cd .. && source ./oenv'
alias ginstall='cd $GAUSSHOME'
alias gcfg='gcode && git clean -xdf && ./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib'
alias gmake='gcode && make -sj 10 && make install -s'
alias ginit='rm -rf $GAUSSHOME/data && gs_initdb -D $GAUSSHOME/data -w "gauss@123" --nodename='node1''
alias gstart='gs_ctl start -D $GAUSSHOME/data'
alias gstop='gs_ctl start -D $GAUSSHOME/data'
alias grestart='gs_ctl restart -D $GAUSSHOME/data'
alias ggdb='gdb attach `pidof gaussdb`'
alias gcore='ll /core'