前言
此次数据库的系统安装环境是openEuler20.03LTS(官网推荐的Linux版本),openGauss数据库安装版本是5.0.0的企业版,相对于2.0.0版本,操作步骤略微有一些变化,相关安装包下载链接 https://opengauss.org/zh/download/
(1)安装依赖
yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libnsl python3
如果安装不了,执行yum update,然后再执行上面的命令即可
(2)设置selinux
vim /etc/selinux/config
将SELINUX=disabled这一行修改成这样,并且设置setenforce 0
(3)关闭并禁用防火墙
systemctl status firewalld
systemctl disable firewalld.service
systemctl stop firewalld.service
(4)编辑sshd_config文件
vim /etc/ssh/sshd_config
PermitRootLogin no 修改成PermitRootLogin yes
将“Banner”所在的行注释掉
#Banner XXXX
(5)关闭交换内存
vim /etc/fstab
将/dev/mapper/openeuler-swap none这一行注释掉
#/dev/mapper/openeuler-swap none swap defaults 0 0
(6)编辑/etc/systemd/logind.conf文件
vim /etc/systemd/logind.conf
修改“RemoveIPC“的值“no“,如下
RemoveIPC=no
(7)编辑/usr/lib/systemd/system/systemd-logind.service文件
vim /usr/lib/systemd/system/systemd-logind.service
如果存在RemoveIPC,直接将其值改成no,如果没有,直接添加如下‘
RemoveIPC=no
执行完以上第6步,第7步后,执行以下命令重新加载配置参数
systemctl daemon-reload
systemctl restart systemd-logind
检查修改是否生效
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
(8)配置库文件
安装openGauss数据库需要libreadline.so.7,在/usr/lib64文件下有libreadline.so.8这个文件,在这里我们直接将libreadline.so.8链接为libreadline.so.7即可,通过执行下面命令
cd /usr/lib64
ln -s libreadline.so.8 libreadline.so.7
(9)设置环境变量HISTSIZE
编辑/etc/profile文件
vim /etc/profile
修改如下内容
HISTSIZE=0
使得编辑的内容生效
source /etc/profile
(10)安装jdk
参考博客链接 https://blog.csdn.net/u010080562/article/details/128164073
(11)配置hostname
vim /etc/hostname
将主机名修改为localhost
(12)创建用户
useradd openGauss
设置用户密码
echo "Abc123456*" | passwd --stdin openGauss
(13)上传openGauss安装压缩包
先创建安装目录
mkdir -p /opt/software/openGauss/
chmod 755 -R /opt/software
上传openGauss-5.0.0-openEuler-64bit-all.tar.gz压缩包到/opt/software/openGauss/目录下
解压安装包
tar -zxvf openGauss-5.0.0-openEuler-64bit-all.tar.gz
tar -zxvf openGauss-5.0.0-openEuler-64bit-om.tar.gz
(14)编辑安装配置文件cluster_config.xml
添加如下内容,然后将编辑好的配置文件放到/opt/software/openGauss/目录下
(15)文件句柄设置
echo "* soft nofile 1000000" >>/etc/security/limits.conf
echo "* hard nofile 1000000" >>/etc/security/limits.conf
(16)禁用透明 HugePages
vim /etc/default/grub,在GRUB_CMDLINE_LINUX参数的末尾添加transparent_hugepage=never。编辑如下所示
使用修改后的配置生成/boot/grub2/grub.cfg文件,执行grub2-mkconfig -o /boot/grub2/grub.cfg
注意:执行完以上步骤记得重启服务器,执行init 6重启linux,以使更改生效
最后执行命令cat /sys/kernel/mm/transparent_hugepage/enabled 查看禁用透明 HugePages是否成功,如下图显示即可!
vi /etc/profile.d/performance.sh
用#注释sysctl -w vm.min_free_kbytes=112640 &> /dev/null
执行如下命令进行预安装(预安装其实就是检测安装环境是否合格并且创建一些与安装相关的目录和环境变量)
./gs_preinstall -U openGauss -G openGauss -X /opt/software/openGauss/cluster_config.xml
如下所示表示预安装成功
注意:第一步的环境准备阶段参数设置后最后一定要重启,一定要重启,一定要重启,重要的事情说三篇,否则某些参数未生效会导致预安装失败,具体会有报错提提醒,执行/opt/software/openGauss/script/gs_checkos -i A -h localhost --detail就能看到报错信息,如果最后的Abnormal_numbers的值不为0,一定要找到对应项修改好,再次执行命令查看,直到Abnormal_numbers的值为0为止)
给安装目录赋权限用户和用户组
chmod -R 755 /opt/software/
chown -R openGauss:openGauss /opt/software/
再次重启系统
init 6 或是 reboot
切换到openGauss用户
su openGauss
此处的openGauss用户就是之前创建的用户(安装数据库的初始用户)
cd /opt/software/openGauss/script/
./gs_install -X /opt/software/openGauss/cluster_config.xml
如果需要选择数据库字符编码,如en\_US.utf8,初始化数据库时加入--locale=en\_US.utf8选项进行安装即可,如下所示,默认数据库字符编码是ASCII(效果图为图二)
./gs_install -X /opt/software/openGauss/cluster_config.xml --gsinit-parameter="--locale=en_US.utf8"
或者是,我这里的虚拟机内存为8GB(效果图为图一)
./gs_install -X /opt/software/openGauss/cluster_config.xml \
--gsinit-parameter="--locale=en_US.utf8" \
--dn-guc="max_connections=2000" \
--dn-guc="max_process_memory=3GB" \
--dn-guc="shared_buffers=128MB" \
--dn-guc="bulk_write_ring_size=128MB" \
--dn-guc="cstore_buffers=16MB"
如下所示表示安装成功!!!
图一:数据库安装成功并且数据库实例启动成功
图二:数据库安装成功,但是数据库实例启动失败
我们往下会看到这里报错,数据库示例启动失败,原因在这!!!
解决办法:需要编辑一下配置文件postgresql.conf
vim /opt/huawei/install/data/dn/postgresql.conf
将listen_addresses 的值修改为 '*'
然后重启openGauss数据库实例
gs_om -t start
现在再来启动数据库实例,如下显示启动成功,这些黄色警告可以忽略,暂时不考虑这些,不影响学习使用
启动后发现会报这个警告:
Failed to initialize the memory protect for g_instance.attr.attr_storage.cstore_buffers (16 Mbytes) or shared memory (1188 Mbytes) is larger.
解决办法:
编辑openGauss的配置文件postgresql.conf
vim /opt/huawei/install/data/dn/postgresql.conf
将max_process_memory的值修改为5GB,保存后重启数据库实例,可以看到没有刚才的报警了
gs_om -t restart
极简安装是没有gs_om工具的,只有企业版安装才有
查看数据库实例状态
gs_om -t status
启动数据库实例
gs_om -t start
停止数据库实例
gs_om -t stop
重启数据库实例
gs_om -t restart
执行下面命令登录数据库
使用初始安装用户openGauss登录
gsql -d postgres -r