openGauss 6.0安装过程解除对root用户依赖之gs_preinstall

举报
yd_286645194 发表于 2024/08/16 15:39:53 2024/08/16
【摘要】 作者:赵锋 在给客户部署业务系统时,由于openGauss数据库的预安装过程需要用到root用户执行,总会被挑战root用户权限太大,若有风险谁负责,只能怯怯的说我们仅安装一个数据库,很快用完了就释放。而openGauss 6.0版本和5.0版本相比,数据库安装流程中的预安装命令(gs_preinstall)以及校验操作系统命令,同时扩容命令可以用非root命令执行了。用非root命令执行预...
作者:赵锋 

在给客户部署业务系统时,由于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的会在后续发出,敬请关注。

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。