KINGBASE集群日常维护管理命令总结

查看集群的状态

bash 复制代码
[kingbase@node1 bin]$ repmgr cluster show

查看守护集群状态

bash 复制代码
[kingbase@node1 bin]$ repmgr service status

查看集群的事件

bash 复制代码
[kingbase@node1 etc]$ repmgr cluster event

查看集群流复制状态

bash 复制代码
esrep=#select usename,application_name,client_addr,sync_state,state,sys_wal_lsn_diff(sys_current_wal_flush_lsn(), replay_lsn) as lsn_lag from sys_stat_replication;

查看复制槽信息

bash 复制代码
esrep=# select * from sys_replication_slots;

查看集群的配置

bash 复制代码
kingbase@node2 bin]$ repmgr config show

启停集群

bash 复制代码
#在任意数据库节点,使用kingbase用户执行
sys_monitor.sh start/stop/restart
start           #启动集群
stop            #停止集群
restart         #重启集群

启动集群

bash 复制代码
步骤一:检查集群关闭时的状态是否正常,避免后续启动过程中出现双主情况,具体的检查过程如下:

1、查看集群中每个节点数据库的data目录,目录中存在standby.signal文件的节点为备库,反之为主库;

2、集群中可以同时存在多个备库,但是只能存在一个主库,如果检查过程中存在多个主库,切勿贸然启动集群。

步骤二:如果集群状态检查结果无误,执行以下命令依次启动集群中所有数据库。

sys_ctl -D $data_directory -l logfile start

步骤三:执行以下命令,依次启动所有节点的repmgrd守护进程。

repmgrd -d -v -f $rep_conf

步骤四:执行以下命令,依次启动所有节点的kbha守护进程。

kbha -A daemon -f $rep_conf

步骤五:在集群所有节点上添加CRON定时任务。

# 进入定时任务编辑模式,通过crontab写入语句:
crontab -e

* 1 * * * * . /etc/profile;$bin_path/kbha -A daemon -f $rep_conf

停止集群

bash 复制代码
步骤一:在集群所有节点上注释或删除启动时创建的CRON定时任务。

# 进入定时任务编辑模式,通过crontab注释(句首使用#)以下语句:
# * 1 * * * * . /etc/profile;$bin_path/kbha -A daemon -f $rep_conf

步骤二:停止集群所有节点中的守护进程 -- 依次kill守护进程kbha和repmgrd。

kill -9 `pidof kbha repmgrd`

步骤三:停止集群中所有节点的数据库。

sys_ctl -D $data_directory -l logfile stop

主备切换

bash 复制代码
[kingbase@node1 bin]$ repmgr standby switchover --choose
[kingbase@node2 ~]$  repmgr standby switchover --siblings-follow

注销节点

bash 复制代码
[kingbase@node1 bin]$ repmgr standby unregister --node-id=3

管理集群维护

bash 复制代码
[kingbase@node1 bin]$ repmgr service unpause
[kingbase@node1 bin]$ repmgr node rejoin -h 10.12.11.193 -U esrep -d esrep #加入集群

克隆/重做备库

bash 复制代码
[kingbase@node1 bin]$ repmgr service unpause
[kingbase@node2 ~]$ repmgr standby clone -h 10.12.11.192 -U esrep -d esrep
[kingbase@node2 ~]$  sys_ctl -D /opt/cluster/kingbase/data start
[kingbase@node2 ~]$ repmgr standby register --force
[kingbase@node1 bin]$ repmgr service unpause
[kingbase@node1 bin]$ repmgr cluster show

修改集群用户密码

bash 复制代码
在集群部署过程中,会自动创建 esrep 集群管理用户,默认密码为Kingbaseha110,并将此密码配置在集群内每个节点的kingbase用户下的~/.encpwd文件中,集群管理软件或其他本节点的应用在连接数据库时,默认使用此文件中的密码。
[kingbase@node1]$ sys_monitor.sh  change_password system 12345678ab 'kingbase_c#'

节点维护

bash 复制代码
1.暂停集群功能

repmgr service pause

2.关闭集群单节点数据库

sys_ctl stop --D ${kingbase_data}


4.启动数据库

sys_ctl start --D ${kingbase_data}

5.恢复集群功能

repmgr service unpause
相关推荐
Teable任意门互动3 分钟前
从飞书多维表格 简道云到Teable多维表格:企业为何选择Teable作为新一代智能数据协作平台?
数据库·excel·钉钉·飞书·开源软件
探索宇宙真理.17 分钟前
SeaCMS SQL注入漏洞 | CVE-2025-15002 复现&研究
数据库·sql·开源·海洋cms
writeone17 分钟前
【无标题】
数据库·oracle
+VX:Fegn089527 分钟前
计算机毕业设计|基于springboot + vue英语学习系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
_OP_CHEN29 分钟前
【C++数据结构进阶】从 Redis 底层到手写实现!跳表(Skiplist)全解析:手把手带你吃透 O (logN) 查找的神级结构!
数据结构·数据库·c++·redis·面试·力扣·跳表
名誉寒冰33 分钟前
Redis 常用数据结构与实战避坑指南
数据结构·数据库·redis
少云清33 分钟前
【接口测试】1_PyMySQL模块 _数据库操作应用场景
数据库·代码实现
spssau35 分钟前
正交试验设计全解析:从正交表生成到极差与方差分析
数据库·算法·机器学习
山峰哥36 分钟前
SQL性能瓶颈破局:Explain分析+实战优化全攻略
大数据·数据库·sql·oracle·性能优化
幺零九零零37 分钟前
Redis容器了解Docker底层
数据库·redis·docker