Tidb数据恢复

embedded/2024/11/14 11:35:18/

表删除delete删除恢复(误删除)

指定时间查询 恢复

#恢复数据
#查看安全点
select * from mysql.tidb where variable_name='tikv_gc_safe_point';
#安全时间
select * from mysql.tidb where variable_name= 'tikv_gc_life_time';
#避免操作过慢 延长安全时间
update mysql.tidb set variable_value= '36h' where variable_name='tikv_gc_life_time';select * from order as of timestamp '2024-11-11 19:04:00';select a.* FROM (select *
FROM  order a  as of timestamp '2024-11-11 19:04:00') a
WHERE   a.CREATE_DATE >= DATE_FORMAT(CURDATE(), '%Y-%m-%d')
ORDER BY a.CREATE_DATE DESC;

设置历史时间回滚

#恢复数据
# 查看安全点
select * from mysql.tidb where variable_name='tikv_gc_safe_point';
# 备份安全时间点
select * from mysql.tidb where variable_name= 'tikv_gc_life_time';
#避免操作过慢
update mysql.tidb set variable_value= '36h' where variable_name='tikv_gc_life_time';# 设置时间历史时间
set @@tidb_snapshot="2024-11-11 12:49:32";
select * from order;# 回滚数据后
#把tidb_snapshot设置成当前的时间,为空就是当前时间
set @@tidb_snapshot="";
select * from order;#还原到最初的设置 备份安全时间点
update mysql.tidb set variable_value= '10m0s' where variable_name='tikv_gc_life_time';
select * from mysql.tidb where variable_name= 'tikv_gc_life_time';
select * from order;

DDL数据回滚(误清空表)

模式删除数据操作

#模式删除数据
truncate table order;
insert into order values(1),(2),(3);
truncate table order;
insert into order values(4),(5),(6);
select * from order;
mysql> select * from order;
+------+
| c    |
+------+
|    4 |
|    5 |
|    6 |
+------+
3 rows in set (0.01 sec)

恢复数据

#恢复数据
admin show ddl jobs where table_name='t_tc_order_row';select * from order;truncate  table order; # 20:42:22#查看安全点的时间
select * from mysql.tidb where variable_name='tikv_gc_safe_point';
select * from mysql.tidb where variable_name= 'tikv_gc_life_time';
#设置gc清理时间
update mysql.tidb set variable_value= '36h' where variable_name='tikv_gc_life_time';truncate  table order; # 20:42:23#设置第一个truncate table往前一点点的恢复时间
set @@tidb_snapshot="2024-11-11 20:42:22";
select * from order;#恢复上一个truncate数据
# 方法一:重复使用dumpling设置不同的snapshot
tiup dumpling -uroot -p'123456' -P4000 --host 192.168.1.1 --filetype sql -o /tmp/test1 -r 200000 -F 256MiB -T test.trun_tab --snapshot "2024-11-11 20:42:22";# 方法二:
set @@tidb_snapshot="";
# 回溯表数据
flashback table order to trun_tab_02
# 回溯时间
# flashback TABLE order TO TIMESTAMP '2024-11-11 20:42:22';
select * from order;# 查看版本
SELECT tidb_version();#恢复默认设置
update mysql.tidb set variable_value= '1h' where variable_name='tikv_gc_life_time';
select * from mysql.tidb where variable_name= 'tikv_gc_life_time';


http://www.ppmy.cn/embedded/136822.html

相关文章

P-tuning、Prompt-tuning和Prefix-tuning区别是什么?

概念 Prompt Tuning 是通过在输入序列前添加额外的 Token 来适配下游任务的方法。这些额外的 Token 是可训练的,而预训练语言模型的参数保持不变。 Prefix Tuning 是在每层 Transformer 结构的输入前添加一组可训练的 Token。这样,模型在处理输入序列时…

MySQL基础-单表查询

语法 select [distinct] 列名1,列名2 as 别名... from数据表名 where组前筛选 group by分组字段 having组后筛选 order by排序的列 [asc | desc] limit 起始索引,数据条数 测试数据 # 建测试表 create table products (id int primary key a…

CMS那点事

大家好,今天我们来深入探讨JVM垃圾回收机制中备受关注的老年代垃圾回收器——CMS(Concurrent Mark Sweep)。 CMS垃圾回收算法:标记-清理 CMS的核心算法是标记-清理。简单来说,它分为两个主要步骤: 标记&a…

外贸行业热门CRM系统大盘点

在全球化的今天,外贸行业面临着激烈的竞争和复杂的市场环境。为了在这个竞争激烈的市场中脱颖而出,企业需要有效的客户关系管理(CRM)系统来帮助他们管理客户信息、优化销售流程和提高客户满意度。本文将盘点外贸行业中一些热门的C…

Redis设计与实现 学习笔记 第十六章 Sentinel

Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的从服…

C#强大的应用场景和优势

一、简洁优雅的语法 清晰的代码结构 C# 采用了类似于 C 和 C++ 的语法风格,但更加简洁和易读。它具有明确的代码块结构,通过大括号来界定代码的范围,使得代码的层次结构一目了然。例如,在 C# 中定义一个类和方法非常直观:class MyClass {public void MyMethod(){// 方法体…

Ubuntu 20.04配置ollama并下载安装调用本地大语言模型

Ubuntu 20.04配置ollama并下载安装调用本地大语言模型 ollama 介绍(来自ChatGPT)主要特点 ollama开发环境预配置ollama在ubuntu下的安装直接安装压缩包安装创建开机ollama的脚本启动ollama ollama在ubuntu下的运行 ollama 介绍(来自ChatGPT) Ollama 是一种新的本地语言模型管理…

C++动态库和静态库的特点以及区别

目录 命名规则使用方式发布方式资源占用运行效率更新方式加载方式其他 C的库文件包括动态库和静态库两种,可以说是开发的时候必然会接触的内容,应该都很熟悉了,这篇文章就简单聊一下这两种库的特点以及区别。 命名规则 在Windows系统中动态…