1. 首页 > 国产数据库教程 > GaussDB教程 > 正文

GaussDB教程FG007-GaussDB启动关闭与状态检查

本教程详细介绍GaussDB数据库的启动、关闭和状态检查操作,包括单机和集群环境下的各种操作方法和状态检查命令。风哥教程参考GaussDB官方文档,结合生产实战经验,为读者提供全面的操作指导。

目录大纲

Part01-基础概念与理论知识

1.1 启动关闭概述

GaussDB数据库的启动和关闭是日常运维中的基本操作,正确的操作方法可以确保数据库的安全和稳定运行。启动和关闭操作需要注意以下几点:

  • 启动前确保环境配置正确
  • 关闭前确保所有事务已提交
  • 使用合适的启动和关闭模式
  • 定期检查数据库状态

1.2 启动关闭模式

启动模式:

  • 正常启动:默认启动模式,加载所有配置和数据
  • 快速启动:跳过某些检查,加快启动速度
  • 仅启动实例:不启动数据库,仅启动实例

关闭模式:

  • 正常关闭(smart):等待所有事务完成后关闭
  • 快速关闭(fast):回滚未完成的事务后关闭
  • 立即关闭(immediate):立即终止所有进程,可能导致数据不一致

Part02-单机环境操作

2.1 单机启动

启动数据库前,确保数据目录权限正确,并且没有其他进程占用数据库端口。

正常启动:

# 切换到GaussDB用户

su – gauss

# 启动数据库

cd /gauss/app/bin

./pg_ctl start -D /gauss/fgdata

# 输出日志

waiting for server to start…. done

server started

指定端口启动:

# 指定端口启动

./pg_ctl start -D /gauss/fgdata -p 8000

# 输出日志

waiting for server to start…. done

server started

后台启动:

# 后台启动

./pg_ctl start -D /gauss/fgdata -l /gauss/log/gaussdb.log

# 输出日志

server starting

2.2 单机关闭

正常关闭:

# 正常关闭

./pg_ctl stop -D /gauss/fgdata

# 输出日志

waiting for server to shut down…. done

server stopped

快速关闭:

# 快速关闭

./pg_ctl stop -D /gauss/fgdata -m fast

# 输出日志

waiting for server to shut down…. done

server stopped

立即关闭:

# 立即关闭

./pg_ctl stop -D /gauss/fgdata -m immediate

# 输出日志

waiting for server to shut down…. done

server stopped

2.3 单机状态检查

检查数据库状态:

# 检查数据库状态

./pg_ctl status -D /gauss/fgdata

# 输出日志(运行中)

pg_ctl: server is running (PID: 12345)

/gauss/app/bin/postgres “-D” “/gauss/fgdata”

# 输出日志(未运行)

pg_ctl: server is not running

检查数据库进程:

# 检查数据库进程

ps -ef | grep postgres

# 输出日志

gauss 12345 1 0 10:00 ? 00:00:00 /gauss/app/bin/postgres -D /gauss/fgdata

gauss 12346 12345 0 10:00 ? 00:00:00 postgres: logger process

gauss 12347 12345 0 10:00 ? 00:00:00 postgres: checkpointer process

gauss 12348 12345 0 10:00 ? 00:00:00 postgres: writer process

gauss 12349 12345 0 10:00 ? 00:00:00 postgres: wal writer process

gauss 12350 12345 0 10:00 ? 00:00:00 postgres: autovacuum launcher process

gauss 12351 12345 0 10:00 ? 00:00:00 postgres: stats collector process

gauss 12352 12345 0 10:00 ? 00:00:00 postgres: bgworker: logical replication launcher

检查端口:

# 检查端口

netstat -tuln | grep 8000

# 输出日志

tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN

tcp6 0 0 :::8000 :::* LISTEN

Part03-集群环境操作

3.1 集群启动

风哥提示:

启动集群:

# 在主节点启动集群

su – gauss

cd /gauss/app/bin

./pg_ctl start -D /gauss/fgdata

# 在备节点启动

su – gauss

cd /gauss/app/bin

学习交流加群风哥微信: itpux-com

./pg_ctl start -D /gauss/fgdata

使用集群管理工具启动:

# 使用集群管理工具启动

su – gauss

cd /gauss/app/bin

./gs_ctl start -D /gauss/fgdata -t all

3.2 集群关闭

关闭集群:

# 在备节点关闭

su – gauss

cd /gauss/app/bin

./pg_ctl stop -D /gauss/fgdata -m fast

# 在主节点关闭

su – gauss

cd /gauss/app/bin

./pg_ctl stop -D /gauss/fgdata -m fast

使用集群管理工具关闭:

# 使用集群管理工具关闭

su – gauss

cd /gauss/app/bin

./gs_ctl stop -D /gauss/fgdata -t all -m fast

3.3 集群状态检查

学习交流加群风哥QQ113257174

检查集群状态:

# 检查主节点状态

su – gauss

cd /gauss/app/bin

./psql -U fgedu -d postgres -p 8000 -c “SELECT * FROM pg_stat_replication;”

# 输出日志

pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_lsn | write_lsn | flush_lsn | replay_lsn | write_lag | flush_lag | replay_lag | sync_priority | sync_state

—–+———-+———+——————+————-+—————–+————-+—————+————–+——-+———-+———–+———–+————+———–+———–+————+—————+————

1234 | 16384 | fgedu | walreceiver | 192.168.1.102 | | 54321 | 2023-07-01 10:00:00 | | streaming | 0/123456 | 0/123456 | 0/123456 | 0/123456 | | | | 1 | sync

检查备节点状态:

# 检查备节点状态

su – gauss

cd /gauss/app/bin

./psql -U fgedu -d postgres -p 8000 -c “SELECT pg_is_in_recovery();”

# 输出日志

pg_is_in_recovery

——————-

t

Part04-系统服务管理

4.1 系统服务配置

创建系统服务文件:

更多视频教程www.fgedu.net.cn

# 创建系统服务文件

cat > /etc/systemd/system/gaussdb.service << EOF

[Unit]

Description=GaussDB Database Service

After=network.target

[Service]

Type=forking

User=gauss

Group=gauss

WorkingDirectory=/gauss/app/bin

ExecStart=/gauss/app/bin/pg_ctl start -D /gauss/fgdata

ExecStop=/gauss/app/bin/pg_ctl stop -D /gauss/fgdata -m fast

ExecReload=/gauss/app/bin/pg_ctl reload -D /gauss/fgdata

Restart=on-failure

[Install]

WantedBy=multi-user.target

EOF

重载系统服务:

# 重载系统服务

systemctl daemon-reload

4.2 开机自启设置

启用开机自启:

更多学习教程公众号风哥教程itpux_com

# 启用开机自启

systemctl enable gaussdb.service

# 输出日志

Created symlink /etc/systemd/system/multi-user.target.wants/gaussdb.service → /etc/systemd/system/gaussdb.service.

使用系统服务管理:

# 启动服务

systemctl start gaussdb.service

# 停止服务

systemctl stop gaussdb.service

# 重启服务

systemctl restart gaussdb.service

# 查看服务状态

systemctl status gaussdb.service

# 输出日志

● gaussdb.service – GaussDB Database Service

Loaded: loaded (/etc/systemd/system/gaussdb.service; enabled; vendor preset: disabled)

Active: active (running) since Sat 2023-07-01 10:00:00 CST; 10min ago

Process: 12345 ExecStart=/gauss/app/bin/pg_ctl start -D /gauss/fgdata (code=exited, status=0/SUCCESS)

Main PID: 12346 (postgres)

CGroup: /system.slice/gaussdb.service

├─12346 /gauss/app/bin/postgres -D /gauss/fgdata

├─12347 postgres: logger process

├─12348 postgres: checkpointer process

├─12349 postgres: writer process

├─12350 postgres: wal writer process

├─12351 postgres: autovacuum launcher process

├─12352 postgres: stats collector process

└─12353 postgres: bgworker: logical replication launcher

from DB视频:www.itpux.com

Part05-风哥经验总结与分享

5.1 操作最佳实践

  • 启动前检查:启动前检查数据目录权限、端口占用情况
  • 关闭前准备:关闭前确保所有事务已提交,避免数据丢失
  • 使用合适的关闭模式:生产环境建议使用fast模式,平衡速度和安全性
  • 定期检查状态:定期检查数据库状态,及时发现问题
  • 使用系统服务:配置系统服务,实现开机自启和统一管理
  • 集群操作顺序:启动时先启动主节点,再启动备节点;关闭时先关闭备节点,再关闭主节点

5.2 常见问题与解决方案

问题1:启动失败

解决方案:

  • 检查数据目录权限是否正确
  • 检查端口是否被占用
  • 查看数据库日志,定位具体错误原因
  • 检查参数配置是否正确

问题2:关闭失败

解决方案:

  • 检查是否有长时间运行的事务
  • 使用fast或immediate模式强制关闭
  • 检查进程状态,必要时使用kill命令终止进程

问题3:集群状态异常

解决方案:

  • 检查网络连接是否正常
  • 检查主备复制配置是否正确
  • 查看备节点的recovery.log,定位错误原因
  • 重新配置主备复制

问题4:系统服务启动失败

解决方案:

  • 检查服务文件配置是否正确
  • 检查权限是否正确
  • 查看系统日志,定位错误原因
  • 手动启动数据库,检查是否正常

from GaussDB视频:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息