首页 > 其他分享 >TiDB恢复部分表的方式方法

TiDB恢复部分表的方式方法

时间:2023-10-08 18:23:33浏览次数:28  
标签:minio -- 恢复 备份 br TiDB 方法

TiDB恢复部分表的方式方法


背景

今天同事告知误删了部分表. 
因为是UAT准生产的环境, 所以仅有每天晚上11点的备份处理.
同时告知 昨天的数据也可以. 
得到认可后进行了 TiDB的单表备份恢复. 

备份的语句

注意TiDB是可以增量备份恢复的
但是为了快速的恢复和解决背景中的问题. 我这边采用保留三天备份呢的模式进行处理. 

now=`date +%Y%m%d%H`
export AWS_ACCESS_KEY_ID=miniouser
export AWS_SECRET_ACCESS_KEY=miniopassword

mkdir /nvme02/minio/tidb255xxx${now}

time /root/.tiup/components/br/v7.2.0/br backup full  -f '*.*'  -f '!information_schema.*'   -f '!emetrics_schema.*'    --pd "192.168.255.tidb:2379" --storage "s3://tidb255xxx${now}" --s3.endpoint "http://192.168.255.minio:9901"  --send-credentials-to-tikv=true  --log-file backupfull.log

注意 我这台机器是在minio 服务器上面执行的 好处是可以通过mkdir 的方式创建bucket 
这样备份的脚本最为简单
minio的数据目录就在 /nvme02/minio

计划任务是 23点进行. 

恢复脚本

now=`date +%Y%m%d%H`
export AWS_ACCESS_KEY_ID=miniouser
export AWS_SECRET_ACCESS_KEY=miniopassword
/root/.tiup/components/br/v7.2.0/br restore  table --db ERPDATA_ZZ_UAT_0001 --table SYS_VERITY_TREE  --pd "192.168.255.xxx:2379" --storage "s3://tidb255xxx2023100723" --s3.endpoint "http://192.168.255.xxx:9901"  --send-credentials-to-tikv=true  --log-file backupfull.log

注意 br 的restore的脚本
低版本可以使用 `dbname`.`tablename` 方式进行恢复
但是高版本必须使用
br restore  table --db ERPDATA_ZZ_UAT_0001 --table SYS_VERITY_TREE  --pd
进行恢复. 不然会报错. 

提取数据

可以使用navicat 后者是dblink的方式将数据转储出来就可以了. 

可以导出 sql文件 简单方便. 

标签:minio,--,恢复,备份,br,TiDB,方法
From: https://www.cnblogs.com/jinanxiaolaohu/p/17749831.html

相关文章

  • 恒创科技:一般香港服务器带宽选多大够用?(带宽计算方法)
    ​在海外IDC市场份额中,香港服务器依托自身优越的服务器资源条件,在各个行业中发挥的重要作用。但是,不同业务对网络带宽的要求各不相同,弄清楚如何计算带宽需求对于确保业务平稳运行至关重要,最好从一开始就使用正确的计算方式。下文我们来看看不同行业的香港服务器带宽需求。......
  • Spring-AOP根据spel获取方法参数值、Bean对象属性值
    Spring-AOP根据spel获取方法参数值、Bean对象属性值,动态的获取属性值,可以用来做注解式分布式锁、注解式获取属性值等等。第一步:自定义注解,代码如下所示packagecom.example.springbootstudy.interfaces;importjava.lang.annotation.*;@Target(ElementType.METHOD)@Inheri......
  • click() 方法无法生效时 使用ActionChains
    背景知识1ActionChains库它的缩写来自于以下单词:Action(动作)和Chains(链)背景知识2ActionChains提供了更多灵活的鼠标和键盘操作选项,可以用于处理更复杂的场景,如果click()方法无法生效,可以尝试使用ActionChains来模拟点击事件。在使用Selenium时,存在一种情况是click()......
  • Linux检测远程服务器端口的几种方法
    1,telnet命令检测telnet是Windows和Linux上最常用的检查端口的命令。此命令的简单用法是telnetip地址(或者域名)端口。如果执行telnet命令提示命令未发现,请执行"yuminstalltelnet"。[root@localhostetc]#telnetwww.baidu.com443 通过上图可以看出,百度htt......
  • 内核态内存的正确使用方法
    前言看完了伙伴系统的设计、slab分配器的设计、vmalloc、kmalloc这些内容对于内存管理的一些细节上好像比较清楚了,但是内核是如何使用内存的还是有一些混淆。也产生了一些疑问,在内核中内存的正确打开方式是什么呢?内核地址空间划分首先我们需要搞情况内核的地址空间,不同地址空间......
  • springAMQP--DirectExchange(在监听方法上用注解声明交换机队列和key,发送消息时会带一
         ......
  • 使用binlog恢复数据
    目录数据模拟恢复到查找最初始的建prod表查找updata语句查找delete语句查找删除语句数据模拟[root@db01~]#cat6.sh#!/bin/bashmysql-uroot-p123-e"dropdatabaseifexistsprod;"mysql-uroot-p123-e"createdatabaseifnotexistsprod;"mysql-uroot-p123......
  • js 常用的正则判断方法
    /**判断是否为数组*/exportconstisArray=(arg:unknown)=>{ returnArray.isArray?Array.isArray(arg):Object.prototype.toString.call(arg)==="[objectArray]"}/**判断是否为字符串*/exportconstisString=(str:unknown)=>{ returntypeof......
  • ddddocr1.4.8失效的解决方法
    1.问题描述fromseleniumimportwebdriverfromtimeimportsleepdriver=webdriver.Chrome()driver.maximize_window()driver.get('http://124.223.30.31:xxxx/forum.php')driver.find_element('id','ls_username').send_keys('admi......
  • Hackintosh最简单且正确的USB定制方法
    一,使用USBToolBox定制https://github.com/USBToolBox请下载tool和kext,推荐在win下打开定制工具,定制过程非常简单,使用USB2.0和USB3.0各一个U盘,把所有的接口都插一遍,然后导出map.kext,将该kext和之前下载的另一个kext,总共两个kext放入efi加载并重启系统。二,使用hackintool完善使用usb......