目录
在给客户部署业务系统时,由于openGauss数据库的预安装过程需要用到root用户执行,总会被挑战root用户权限太大,若有风险谁负责,只能怯怯的说我们仅安装一个数据库,很快用完了就释放。而openGauss 6.0版本和5.0版本相比,数据库安装流程中的预安装命令(gs_preinstall)以及校验操作系统命令,同时扩容命令可以用非root命令执行了。用非root命令执行预命令,在安全和易用性等方面都有很大的改进(当然还有一些前提条件需要root用户执行),可以减少用户执行过程的用户切换,也可以控制root用户权限控制。一定程度减少了用户误操作对整个系统的影响范围。除了gs_preinstall外,做了类似改进的还有扩容(gs_checkos)和校验(gs_checkos),本文仅介绍gs_preinstall。(其余命令待后文整理)。
1.执行前提条件
本文由于是单机版安装所以未执行gs_sshexkey -f host,直接执行设置os参数这步,需要注意的是,前提条件的操作,仍然需要以root用户执行。详情参考官网资料,点击文末阅读原文。
1.1设置OS参数:
注意直接按照官网资料执行会报错Invalid argument,如下:
该问题为已知资料问题,执行时需去掉双引号,即可成功。
echo 'kernel.sem=250 6400000 1000 25600' >> /etc/sysctl.conf
1.2定时任务权限
赋予普通用户执行定时任务的权限
echo "xxx" >> /etc/cron.allow
重启定时任务使生效。
systemctl restart crond
1.3 修改最大文件描述符
2.切换至omm用户,执行preinstall
[omm@ecs-oe-2203 script]$ ./gs_preinstall -U omm -G dbgrp -X /opt/software/opengauss/clusterconfig.xml
3.source环境变量
preinstall成功后,用omm用户执行gs_install,报错:
因是环境变量问题,因此回退至root用户,先source环境变量,再执行gs_install命令,就可以成功。
[root@ecs-oe-2203 script]# source /home/omm/.bashrc
[root@ecs-oe-2203 script]# su omm
4.执行gs_install
切换至omm用户,继续执行gs_install,安装成功,登录默认数据库并查询。
Gs_checkos和gs_expansion的会在后续发出,敬请关注。
本文作者
本文内容来自于数据库领域资深技术专家赵锋老师,希望我们的文章正好能解决你的问题。