环境:tidb集群,br工具(推荐部署在pd节点上,负责下发备份恢复等指令给tikv节点,主流用法为tikv节点使用nfs client挂载外部存储路径到本地,将tikv上的数据备份到nfs挂载点)

1、下载tiup安装脚本进行安装,并利用tiup在单个虚拟机模拟出集群测试环境

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

tiup --tag shutengtest playground v5.2.2 --db 2 --pd 3 --kv 3 --monitor

2、连接数据库建库建表插入数据

mysql --comments --host 127.0.0.1 --port 4000 -u root -p

create database... use ... create table... insert into...

3、wget官网下载备份恢复所需的工具包,解压后将bin目录添加到环境变量PATH

wget https://download.pingcap.org/tidb-toolkit-v5.2.2-linux-amd64.tar.gz

tar xvzf tidb-toolkit-v5.2.2-linux-amd64.tar.gz

...

4、执行备份

br backup full -s local:/tmp/backup --pd "127.0.0.1:2379" --log-file backup.log

5、另一台机器按同一方法部署集群,再scp备份机器下的/tmp/backup到本地,再执行

br restore full -s local:/tmp/backup --pd "127.0.0.1:2379" --log-file restore.log

验证数据完整。

6、增量备份

  • 先查询上次备份的时间戳 br validate decode --field="end-version" -s local:/tmp/backup |tail -n1
  • 再实施本次增量--lastbackupts指定上次备份时间 br backup full -s local:/tmp/backup/inc -pd "127.0.0.1:2379" --lastbackupts 431659014681264129

7、增量恢复 (指令和全量恢复相似,需要依据时间多次恢复)

  • br restore full -s local:/tmp/backup --pd "127.0.0.1:2379" --log-file restore.log
  • br restore full -s local:/tmp/backup/inc1 --pd "127.0.0.1:2379" --log-file restore.log
  • br restore full -s local:/tmp/backup/inc2 --pd "127.0.0.1:2379" --log-file restore.log
  • br restore full -s local:/tmp/backup/inc**** --pd "127.0.0.1:2379" --log-file restore.log

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐