华为云部署openGauss v2.1.0数据库(CentOS 7.6)

本文详细介绍了如何在华为云ECS上部署openGauss数据库,包括选择CentOS7.6环境,配置安全组规则,修改系统配置,安装数据库,创建用户,启动数据库,以及创建和管理数据库表。关键步骤涉及防火墙设置、用户权限和内核参数调整。
摘要由CSDN通过智能技术生成

华为云便捷部署openGauss

实验采用的是openGauss v2.1.0 极简版和CentOS 7.6。
建议阅读华为官方文档:openGauss v2.1使用手册 ->安装指南 / 管理员指南

安装流程

搭建华为云服务器

  1. 安装环境要求:使用openEuler或CentOS 7.6
    安装环境要求
# 配置弹性云服务器ECS-->按需计费-->公共镜像-->CentOS7.6-->
#	  选择默认私有云-->选择默认安全组-->设置root用户登陆密码,其余选项默认即可。
# 配置好后,即可用CloudShell登录root用户。

登陆成功页面:
登陆成功

  1. 修改操作系统配置
    在正式安装数据库前,先关闭云服务器防火墙;并且需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss主机的防火墙白名单中。
  • 检查系统防火墙是否关闭。若防火墙状态显示为inactive (dead),则无需再关闭防火墙:
systemctl status firewalld
  • 云服务器安全组增加规则
    找到安全组规则配置
    在“入方向”规则增加TCP协议、源IP为所有、端口为5432或者26000的一条规则即可。这个端口号只要与后边登录数据库时使用的端口保持一致即可。我采用的是5432,也就是openGauss运行的默认端口:
    修改安全组规则配置

所谓安全组,就是用户为实例定义的各种白名单访问规则, 简要说明如下:

  • 入方向规则:入方向指外部访问安全组内的实例的指定端口。当外部请求匹配上安全组中入方向规则的源地址,并且策略为“允许”时,允许该请求进入,其他请求一律拦截。
  • 出方向规则:出方向指安全组内的实例访问外部的指定端口。在出方向中配置目的地址匹配所有IP地址的规则,并且策略为“允许”时,允许所有的内部请求出去。
  • 0.0.0.0/0表示匹配所有IPv4地址。
  1. 登录后开启防火墙、开放指定的数据库运行端口5432
systemctl start firewalld
systemctl status firewalld
firewall-cmd –add-port=5432/tcp –permanent
firewall-cmd --reload

安装配置openGauss

  1. 创建普通用户u1,并为/opt开放读写及执行权限
[root@opengauss ~]# sudo useradd u1
[root@opengauss ~]# sudo passwd u1
Changing password for user u1.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@opengauss ~]# chmod -R 777 /opt
[root@opengauss ~]# 
  1. 在root用户下,修改系统配置
[root@opengauss ~]# sysctl -w kernel.sem="250 85000 250 330"
kernel.sem = 250 85000 250 330
  • 修改配置文件

打开limits.conf文件:

 vi /etc/security/limits.conf

在末尾插入以下两行:
(vi常用操作:i键进入修改模式、ESC退回命令行模式、:wq存盘并退出)

u1 hard nofile 1000000
u1 soft nofile 1000000

设置内存分配参数:

sysctl -w vm.overcommit_memory=1
  • 执行完上述步骤之后,后面在安装数据库时可能会失败,如果有libaio.so报错:
    安装报错
    对应的解决方案是安装依赖,同样在root用户下(也可以等后面遇到了再执行):
yum install libaio
  1. 新建终端,检查u1用户是否可以正常登录
    用户u1登录

正式安装

  1. 在u1用户下,命令行方式下载openGauss,我使用的版本是v 2.1
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.1.0/x86/openGauss-2.1.0-CentOS-64bit.tar.bz2
  1. 将压缩包移动到/opt目录下
mv openGauss-2.1.0-CentOS-64bit.tar.bz2 /opt
  1. 创建openGauss文件夹并进入目录
mkdir /opt/openGauss
cd /opt/openGauss
  1. 在/opt/openGauss目录下解压
tar -jxf /opt/openGauss-2.1.0-CentOS-64bit.tar.bz2 -C /opt/openGauss
  1. 执行安装(将yourpassword@替换为你的用户密码)
sh simpleInstall/install.sh  -w yourpwd123@ &&source ~/.bashrc
  1. 出现提示 server started,就是成功了
    安装成功

数据库登陆

  • 在u1用户下,此时可以直接登陆默认数据库:
gsql -d postgres -p 5432 -r
  • 而如果是在数据库关闭后登录,则需要先启动数据库实例:
    (注意,因为下载的是极简版,没有gs_om命令,但是可以用gs_ctl,这与网上的一些博客有所不同,但不影响后续实验)
gs_ctl start -D $GAUSSHOME/data/single_node -Z single_node

创建、登录数据库用户

  • 创建具有管理员权限的数据库用户u1:
create user u1 with sysadmin identified by 'yourpwd123@'; 

创建用户u1

  • 以创建的用户u1登录数据库,需要密码,-r 表示进入之后可编辑操作语句:
gsql -d postgres -p 5432 -U u1 -r

以用户u1登录

  • 如需退出数库登录
\q

创建数据库

  • 创建数据库MYDB,指定数据库所有者:
create database MYDB with owner u1;
  • 查看数据库系统所有的数据库:
\l

在这里插入图片描述

  • 切换到指定数据库:
\c MYDB

切换到数据库MYDB

创建基本表

  • 创建学生、课程、选课三张表(S、C、SC)
create table S
(
    sno VARCHAR(10) NOT NULL,
    sname VARCHAR(20) NOT NULL,
    sex CHAR(4) NOT NULL,
	bdate DATE NOT NULL,
	height DEC(3,2) DEFAULT 0.00,
	dorm VARCHAR(20),
	primary KEY(sno)
);
create table C
(
    cno VARCHAR(10) NOT NULL,
    cname VARCHAR(40) NOT NULL,
    period SMALLINT NOT NULL,
	credit TINYINT NOT NULL,
	teacher VARCHAR(20) NOT NULL,
	primary KEY(cno)
);
create table SC
(
    sno VARCHAR(10) NOT NULL,
    cno VARCHAR(10) NOT NULL,
    grade DEC(4,1) DEFAULT NULL,
    primary KEY(sno,cno),
	FOREIGN KEY (sno) REFERENCES S648(sno) ON DELETE CASCADE,
	FOREIGN KEY (cno) REFERENCES C648(cno) ON DELETE CASCADE,
	CHECK((grade IS NULL) or (grade BETWEEN 0 AND 100))
);
  • 查看数据库中创建的基本表
\d

查看创建的基本表
到此,数据库创建完毕。用Navicat 远程连接数据库课内实验报告 请参考我的下一篇博客。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值