赞
踩
目录
openGauss,是一款具有高性能、高可用、高安全、易运维、全开放的企业级开源关系型数据库。由华为开源,运行于Linux系统(openEuler等)。
猜测与PostgreSQL(BSD许可证下的开源数据库)有一定关联。
出于国产化需要,在华为云的云耀服务器(2vCPUs | 4GiB | 带宽 2 Mbit/s,Huawei Cloud EulerOS 2.0)安装openGauss(RPM方式,轻量版),为Python项目提供数据库环境。
为了预先测试,已经在openEuler22.09虚拟机上安装测试过。
根据官方文档,可以“在openEuler 22.03 LTS操作系统上,通过yum命令一键安装openGauss数据库”,为了简便,采取此方式进行安装。
直接在root下运行:
yum install opengauss -y
报错,没有找到opengauss。
经分析,怀疑Huawei Cloud EulerOS 2.0自身配置的yum源没有opengauss的相关资源。
查看/etc/yum.repos.d目录下的repos源文件,存在一个名为“hce.repo”的repos源文件,下载下来打开查看,发现源设置在repo.huaweicloud.com这个网站。
- [base]
- name=HCE $releasever base
- baseurl=http://repo.huaweicloud.com/hce/$releasever/os/$basearch/
- enabled=1
- gpgcheck=1
- gpgkey=http://repo.huaweicloud.com/hce/$releasever/os/RPM-GPG-KEY-HCE-2
-
- [updates]
- name=HCE $releasever updates
- baseurl=http://repo.huaweicloud.com/hce/$releasever/updates/$basearch/
- enabled=1
- gpgcheck=1
- gpgkey=http://repo.huaweicloud.com/hce/$releasever/updates/RPM-GPG-KEY-HCE-2
-
- [debuginfo]
- name=HCE $releasever debuginfo
- baseurl=http://repo.huaweicloud.com/hce/$releasever/debuginfo/$basearch/
- enabled=0
- gpgcheck=1
- gpgkey=http://repo.huaweicloud.com/hce/$releasever/debuginfo/RPM-GPG-KEY-HCE-2
-
考虑到官网上明确Huawei Cloud EulerOS 2.0是基于openEuler构建,因为之前在openEuler22.09虚拟机上安装测试过,所以直接把openEuler22.09虚拟机中的repos源文件“openEuler.repo”放到云服务器的/etc/yum.repos.d目录下使用。
再次执行:
yum install opengauss -y
运行成功,顺利下载。
提示:
建议在网络通畅的情况下进行,防止因拉取超时导致安装失败。
如果因拉取超时而导致安装失败,则再次执行安装命令即可。
注意:(来自经验,结合文档)
1、基于openGauss轻量版的能力构建。(没有OM,CM等组件,所以安装,卸载,升级等OM功能需要分别在各个节点上手动操作,即使用gs_ctl命令,在“工具与命令参考”-“系统内部命令”中)
2、RPM方式安装的仅为单机版数据库实例,升级时候只能替换二进制,不支持灰度升级。
3、安装数据库默认创建用户opengauss,数据库相关操作在此用户下进行(密码未知)。
4、默认安装实例监听127.0.0.1:7654地址和端口。如果需要进行远程连接,需要手动修改postgresql.conf文件中的listen_address。
5、虽然官方文档中标注“当前仅在openEuler 22.03 LTS 版本的操作系统上支持yum方式安装”,但虚拟机中的yum源为22.09,同时直接用在Huawei Cloud EulerOS 2.0也可以。
尽管官方文档标注“切换到opengauss用户 su - opengauss
”即可,但我在实践时连接数据库的指令无法正常使用。
通过“cat /etc/passwd”指令查看用户,发现确实有了数据库用户。
于是,在root,或者具有sudo权限的用户下,更改opengauss数据库用户的密码。
root账号下:
passwd opengauss
具有sudo权限的用户下:
sudo passwd opengauss
给opengauss数据库用户设置新密码。
使用opengauss数据库用户(linux用户)登录服务器,
使用命令看是否启动数据库:
gs_ctl query
注:官方文档中有“-D”参数,后面为文件地址,可以缺省。
或者使用gs_ctl工具查看数据库状态,判断数据库是否启动,命令为:
gs_ctl status
结果如下,数据库已启动。
然后链接数据库,进行初始化设置:
设置密码、新建数据库用户、新用户授权、查看
首次登录建议修改密码以提高安全性(强制性)。命令格式如下:
ALTER ROLE user_name PASSWORD 'password';
其中,user_name:opengauss,password:XXXXXXXX(密码至少8位)
即执行:
ALTER ROLE opengauss PASSWORD 'XXXXXXXX';
创建其他数据库用户帐号用于远程登录。(初始账号,又被称为“系统所有者”,拥有最高权限,无法远程登录)
CREATE USER user_name WITH PASSWORD "password";
其中,user_name:you_yi,password:XXXXXXXX(密码至少8位)
即执行:
CREATE USER you_yi WITH PASSWORD "XXXXXXXX";
需要进行授权操作,简便起见可以设为“系统管理员”:
ALTER USER user_name SYSADMIN;
即:
ALTER USER you_yi SYSADMIN;
使用以下命令分别查看openGauss的版本和版权信息、所有的数据库和描述信息。
- \copyright
- \l
更多详情见“快速入门”-“访问openGauss”-“使用gsql访问openGauss”
在其他用户(linux用户)下使用“ps aux”命令,也可以看见opengauss在运行,进程号(PID)与通过“gs_ctl status”查看的相同。
ps aux
注意:
需要区分的是,linux系统(openEuler)和数据库管理系统(openGauss)都是多用户系统,有着用户权限管理。
在“(二)数据库配置”中,如果没有特殊标注,“数据库用户”即指在数据库管理系统(openGauss)上注册的用户。
有“系统所有者”(拥有最高权限)的opengauss,和后来新增的“系统管理员”you_yi。
在linux系统(openEuler)中,opengauss为数据库用户(用于使用、维护数据库管理系统(openGauss)),root为超级管理员,you_yi为Python项目的部署者,并拥有sudo权限。
在操作Linux系统时,通常不会直接采用root用户;同时为了提高安全性,部分场景下root权限会禁止远程登录。而当某些命令需要root权限执行时,往往会通过sudo
命令提升当前用户的执行权限来完成。
sudo
的英文全称是 super user do
,即以超级管理员(root 用户)的权限执行命令。用户是否拥有sudo
命令的执行权限,要看是否在 /etc/sudoers
文件中进行了设置。
/etc/sudoers
是一个文本文件,有其特定的语法,建议采用 visudo
命令修改。需要注意的是只有root用户有该命令的执行权限。
切换到root用户,命令行输入 visudo
,即可直接进入/etc/sudoers
的编辑页面。
使用“向下”的方向键移至文件最底下部分,按“Insert”进行插入,
user_name ALL=(ALL) ALL
添加完毕,“esc”退出编辑,执行(输入)“:wq”,退出并保存。
解释下每一列的含义:
第一列表示用户名,如 root
、you_yi
等;
第二列,等号左边的 ALL
表示允许从任何主机登录当前的用户账户;
第二列,等号右边的 ALL
表示:第一列的用户可以切换到系统中任何一个其它用户;
第三列, ALL
表示:第一列的用户能以root用户的身份下达什么命令,ALL
表示可以下达任何命令。
若第三列有一个 NOPASSWD
关键字,表明ubuntu用户在请求 sudo
时不需要输入密码。
user_name ALL=(ALL) NOPASSWD:ALL
ps命令,用 于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
ps aux
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。