项目 | 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.service
systemctl stop firewalld.service
systemctl 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
编译成功的结果如下图所示:
安装openGauss
make install -j4
安装成功结果如下信息提示:
make[1]: Leaving directory '/opt/software/openGauss-server/contrib/hstore'
openGauss installation complete.
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'
初始化成功截图如下所示:
【启动数据库】
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的全部工作。如本文对您有所帮助,麻烦动动您发财的手指点个赞或者转发,感谢支持~~~~~