一、前言
openGauss是一款高可靠、高性能、高安全、易运维的开源关系型数据库管理系统,然而其全功能部署对系统要求非常高。
本实操教程能够使个人开发者以及高校师生能够以成本最小的方式快速将openGauss部署到华为云的ECS上,以便快速进行功能验证以及小规模数据库应用开发。
本教程预计实现的目标:
- 开通安装有CentOS 8.2的华为云ECS
- 安装并启动openGauss 5.0.0 LTS
- 放通公网访问(本文部署到25432端口)
- 能够使用Navicat等数据库软件以PostgreSQL兼容的方式进行连接
本教程仅供实验测试使用,安全性较低,请勿在生产环境按该教程部署
二、 开通华为云ECS
在华为云控制台中搜索弹性云服务器
产品并购买
相关参数解释说明与推荐
区域:服务器所在的区域,不同区域定价差异较大,可以选择成本较低的区域如西南-贵阳一
计费模式:若需要长期部署应用(如课程作业开发),推荐选择包月
规格:服务器的配置,为了运行openGauss,内存必须2GB
以上,推荐至少4GB
,经测试若配置过低会导致数据库无法安装、运行或中途崩溃。成本较低的可以选择通用计算型s6(s6.medium.4),基础报价约86元每月。
镜像:服务器预装的操作系统,openGauss只支持OpenEuler和CentOS系列。考虑到一些软件的支持性,本教程采用CentOS 8.2 64bit,尽管官方只说明能够在CentOS7.6上运行,但实测该系统也能够正常运行部署。
系统盘:服务器运行的硬盘,若要节省成本可以选择高IO
点击下一步(网络配置)
网络、子网:保持默认配置即可
安全组:为了能够使服务器能够在外网访问数据库端口,我们必须预先放通相关端口,本教程以部署在25432
端口为例(修改了默认的端口以降低扫描器发现并爆破密码的几率),此外我们可以顺便放通22、80等常用端口(使用“一键放通常用端口”按钮)
IP:为了公网访问,必须购买弹性IP。若服务器应用流量不大,推荐按流量计费,带宽可以选最高的(300M),建议勾选“随实例释放”避免在服务器过期后继续计费。按带宽计费成本非常高,不建议测试使用。
点击下一步(高级配置)
登录凭证:自行设定
云备份:为节省成本可以关闭(不购买)
支付:拥有基座课程代金券的同学可以使用代金券连续购买多个月,节省部署成本。(按流量计费的服务器产生的流量可能仍会额外消耗余额)
至此,华为云ECS已经创建完成
三、安装openGauss
创建数据库专用账户
openGauss的安全性设计必须以root以外的用户运行
首先用刚才的凭证使用root用户连接到服务器
在终端中运行以下命令
groupadd dbgroup
useradd -g dbgroup omm
passwd omm
输入你的omm账户密码
创建了一个omm账户以及一个用户组
下载openGauss
下载、解压并调整相关文件权限
curl -o opengauss.tar.gz https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/x86/openGauss-5.0.0-CentOS-64bit-all.tar.gz
mkdir /opt/software/
mkdir /opt/software/openGauss
tar -xvf opengauss.tar.gz -C /opt/software/
cd /opt/software/
tar -jxf openGauss-5.0.0-CentOS-64bit.tar.bz2 -C /opt/software/openGauss
chown -R omm /opt/software/
安装依赖
对于本文档中的CentOS 8,由于已经停止支持,我们需要切换yum源,以清华大学源为例
minorver=8.5.2111
sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
-e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/$minorver|g" \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo
CentOS 8安装供CentOS 7.6使用的OpenGauss会遇到一些问题,我们必须安装一些依赖
yum install -y readline-devel libaio libnsl compat-openssl10
cd /usr/lib64
ln -s libreadline.so.7 libreadline.so.6
安装
以下的命令将openGauss安装到25432
端口,密码请在命令行中“设定的高强度密码”修改
su omm
cd /opt/software/openGauss/simpleInstall
sh install.sh -w 设定的高强度密码 -p 25432
vim ~/.bashrc
# *注释*ulimit那行(在行最前加一个#)若没有可以忽略
source ~/.bashrc
配置兼容、外网访问
众所周知,openGauss拥有PostgreSQL兼容的接口,若在此进行相关修改便可以在应用处无需修改使用主流软件的PG驱动连接数据库服务器使用。
我们下面来修改默认配置使其兼容PG的连接器。
cd /opt/software/openGauss/data/single_node
vim postgresql.conf
添加/取消注释以下行
listen_addresses = '*'
local_bind_address = '0.0.0.0'
password_encryption_type = 0
vim pg_hba.conf
host all all 0.0.0.0/0 md5
启动或重启数据库(omm用户)
gs_ctl restart -D $GAUSSHOME/data/single_node
进入数据库命令行(omm用户)
创建一个名为postgres的管理用户(因为默认的omm用户无法从外部登录),密码请在命令行中定义
gsql -d postgres -p 25432
create user postgres password '你的高强度密码';
GRANT ALL PRIVILEGES TO postgres;
\q 退出
至此,你已经可以使用Navicat等软件连接到数据库了。
若提示找不到gs_ctl、gsql等命令,请在/opt/software/openGauss/下找到bin目录,并将其加入Path
至此,本教程结束~
欢迎各位同学交流学习
作者:黄浩