GaussDB 基础安装与SQL操作(完整版)
---
课程目标
- [ ] 了解 GaussDB 数据库介绍、版本与核心特性
- [ ] 完成 GaussDB 安装部署(单机/主备)
- [ ] 熟悉 GaussDB 基本操作:创建数据库、表、索引
- [ ] 熟悉 GaussDB 数据类型与约束
- [ ] 掌握 GaussDB SQL 基础:增删改查
---
第一部分:GaussDB 相关介绍
---
一、核心特性
GaussDB 是华为自研的企业级分布式关系型数据库,基于 PostgreSQL 内核优化迭代,适配多场景学习与实践。
1.1 核心特性详解
| 特性 | 说明 | 适用场景 |
|---|---|---|
| 金融级高可用 | 支持主备切换、故障自动恢复 | 银行、证券等对数据一致性和业务连续性要求极高的场景 |
| 海量数据处理 | 支持分布式架构,单集群可扩展至千节点,每秒可处理百万级事务 | 互联网、政务大数据等海量数据存储与高并发访问场景 |
| 多类型负载适配 | 兼顾 OLTP(在线事务处理)与 OLAP(在线分析处理),无需拆分数据库 | 电商、制造等既有交易型业务又有分析型业务的场景 |
| 兼容性强 | 高度兼容 PostgreSQL 语法,同时提供 MySQL 兼容性模式 | 企业原有 PostgreSQL/MySQL 业务的平滑迁移 |
1.2 信创合规
GaussDB 作为信创体系核心数据库,具有以下特点:
- 自主可控:华为自研,核心技术自主掌握
- 全栈适配:适配国产软硬件(鲲鹏、飞腾等)
- 安全合规:满足政务、国企等场景的信创合规需求
1.3 获取安装包
下载地址: https://opengauss.org/zh/download/?version=lts
下载步骤:
1. 访问 openGauss 开源社区下载页面 2. 选择 "GaussDB 企业版 v6" 对应版本 3. 操作系统筛选 "openEuler 22.03 LTS" 4. 下载安装包
---
第二部分:安装前准备
---
一、环境准备
说明: openGauss 和 openEuler 属于上下游生态,推荐使用 openEuler 进行安装和使用。
二、关闭 SELinux
# 永久关闭并临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0命令作用:
- 这条命令用于批量替换文件内容。这里常见用途是把默认镜像地址、配置值或路径替换成当前环境可用的值。
执行结果:
- 成功后应以该命令实际输出、生成的文件或目标服务状态为准;失败时先阅读终端报错,再核对命令参数和运行环境。
关键参数:
注意事项:
---
**注意事项:**
---
注意事项:
**注意事项:**
**注意事项:**
注意事项:
注意事项:
| 模式 | 说明 |
|---|---|
| **fast** | 快速停止,等待当前事务完成后停止,不接收新事务 |
| **immediate** | 强制停止,直接终止数据库进程,可能导致数据不一致,仅紧急情况使用 |
| **smart** | 智能停止,等待所有客户端断开连接后停止,适合维护时使用 |
注意事项:
---
**选项说明:**
| 选项 | 说明 |
|---|---|
| `-U` | 指定连接的数据库用户,gauss 默认超级用户 |
| `-d` | 指定连接的数据库,postgres 是默认系统数据库 |
| `-p` | 指定数据库端口,默认端口 5432 |
| `-r` | 可以上下箭头翻查历史,默认为关闭,建议添加上 |
注意事项:
**命令拆解:**
| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `pg_hba.conf` | 【普通】 | 配置文件路径,命令会读取这个文件里的配置。 |
**注意事项:**
**METHOD(方法)参数说明:**
| 方法 | 说明 |
|---|---|
| **sha256** | 密码认证。要求客户端提供用户名和密码,密码通过 SHA-256 算法加密传输 |
| **trust** | 信任认证。无需密码,只要 IP 和用户名匹配即可连接 |
| Member of -----------+------------------------------------------------------------------------------------------------------- -----------+----------- | {}
jdbc:opengauss://192.168.88.162:5432/postgres---
---
参考文档:
\c
\conninfo\q
\l\d
\du\x
| 类别 | 数据类型 | 说明与适用场景 |
|---|---|---|
| 数值型 | INT / INTEGER | 4字节整数,范围约 -21亿 到 +21亿。最常用 |
BIGINT | 8字节整数,用于超大数值(如雪花算法生成的 ID、订单号) | |
SERIAL | 自增整数(底层是 INT + SEQUENCE)。常用于 PRIMARY KEY(主键) | |
NUMERIC(p, s) | 精确数值,p 为总位数,s 为小数位数。金额、财务数据必须用此类型,避免浮点数精度丢失 | |
| 字符型 | VARCHAR(n) | 变长字符串,最大长度为 n。最常用,节省空间 |
CHAR(n) | 定长字符串,不足 n 会用空格填充。仅适用于长度绝对固定的场景(如身份证号、国家代码) | |
TEXT | 无限长变长字符串,适合存储大段文本(如文章正文、备注) | |
| 日期时间 | DATE | 仅包含日期(年-月-日),如 2026-06-05 |
TIMESTAMP | 包含日期和时间(无时区),如 2026-06-05 10:30:00 | |
TIMESTAMPTZ | 带时区的时间戳,推荐在跨时区业务中使用 |
);
**注意:更新数据一定要加条件!**
注意:删除数据一定要加条件!
----+------+-----+--------+-------------------------
1 | 张三 | 18 | 95.50 | 2026-06-05 16:30:00
2 | 李四 | 20 | 88.00 | 2026-06-05 16:30:00
3 | 王五 | 19 | 92.75 | 2026-06-05 16:30:00
4 | 赵六 | 21 | 78.25 | 2026-06-05 16:30:00---
---
| 对比项 | GaussDB | PostgreSQL | MySQL |
|---|---|---|---|
| 开发商 | 华为 | PostgreSQL 社区 | Oracle |
| 内核 | 基于 PostgreSQL 优化 | PostgreSQL | MySQL |
| 端口 | 5432 | 5432 | 3306 |
| 命令行工具 | gsql | psql | mysql |
| 超级用户 | gauss | postgres | root |
| 适用场景 | 企业级、信创、金融 | 通用、开源生态 | 互联网、轻量级 |
| 序号 | 配置项 | 命令 | 说明 |
|---|---|---|---|
| 1 | 关闭 SELinux | sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config | 学习环境 |
| 2 | 关闭防火墙 | systemctl stop firewalld && systemctl disable firewalld | 学习环境 |
| 3 | 创建 gauss 用户 | useradd -d /gauss gauss | 专用数据库用户 |
| 4 | 修改监听地址 | listen_addresses = '*' | 允许远程连接 |
| 5 | 配置 HBA | 添加 host all all 0.0.0.0/0 sha256 | 允许密码认证 |
| 6 | 创建远程账号 | create user xxx with password 'xxx' sysadmin | 远程登录使用 |