暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

磐维数据库生产环境误操作恢复指定时间点流程

张宇健 2025-05-20
194

前言:生产上对于误操作想要把某张表恢复到指定时间点的数据

一、使用第三节点进行操作

首先确定全备以及归档日志正确性,并将全备和归档日志传到第三节点

1、关闭第三节点

cm_ctl stop -n 3

2、备份第三节点数据

mv /database/panweidb/data /database/panweidb/data.bak.date +"%Y%m%d-%H%M%S"

3、根据最近全备恢复data目录

gs_probackup restore -i xxxx -B /archive/bk/probackup --instance=panweidb -D /database/panweidb/data -j 32

4、增加恢复文件,填写如下内容

vi /database/panweidb/data/recovery.conf

recovery_target_time = ‘2025-02-19 09:43:00’

restore_command = ‘cp /archive/%f %p’

5、启动数据库

gs_ctl start -D /database/panweidb/data -M primary

6、导出数据

#编辑脚本写入导出命令
vi a.sql
copy xxx.xxx to ‘/home/omm/table.dat’;
#执行导出脚本
gsql -d xxx -p 17700 -f a.sql

7、主库创建bak表

#创建相同结构的备份表(在生产上此操作由业务处理)
#创建备份表的目的:不直接导入覆盖旧表,就是为了让业务处理两张表,即原有误操作表,和新的恢复指定时间点的表
create table bak_t(id int,XXXX);

8、导入到bak表里,

#首先将三节点导出的文件scp传到主机点
#编辑导入脚本,写入导入命令
vi b.sql
COPY xxx.xxx FROM ‘/home/omm/table.dat’;
#在主库执行脚本,将恢复指定时间点的表导入
gsql -d xxx -p 17700 -f b.sql

9、第三个节点恢复环境

gs_ctl stop -D /database/panweidb/data

rm -rf /database/panweidb/data

二、恢复集群(在业务确定业务恢复正常后才进行恢复集群动作)

1、把原来目录mv改回来

mv /database/panweidb/data /database/panweidb/data.bak.date +"%Y%m%d-%H%M%S"
cm_ctl start -n 3

2、检查数据库状态

gs_om -t status --detail

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论