当前位置:网站首页>Restore backup data on GCS with tidb lightning
Restore backup data on GCS with tidb lightning
2022-07-07 04:02:00 【Tianxiang shop】
This document describes how to put Kubernetes through TiDB Operator The backup data is restored to TiDB colony .
The recovery method used in this article is based on TiDB Operator v1.1 And above CustomResourceDefinition (CRD) Realization , The bottom layer uses TiDB Lightning TiDB-backend To recover data .
TiDB Lightning It is a high-speed import of full data to TiDB Clustering tools , Available from local disk 、Google Cloud Storage (GCS) or Amazon S3 Cloud disk reads data . at present ,TiDB Lightning Support three kinds of backend :Importer-backend
、Local-backend
、TiDB-backend
. The method introduced in this article uses TiDB-backend
. About the differences and choices of these three backend , see also TiDB Lightning file . If you want to use Importer-backend
perhaps Local-backend
Import data , see also Use TiDB Lightning Import cluster data .
The following examples will be stored in GCS The cluster backup data on the specified path on is restored to TiDB colony .
Use scenarios
If you need from GCS Export backup data to TiDB colony , And have the following requirements for data recovery , You can use the recovery scheme introduced in this article :
- We hope to recover with low resource utilization and low network bandwidth utilization , And it's acceptable 50 GB/ Hours of recovery
- It is required to meet ACID
- During backup TiDB The cluster can still provide services
Preparation before recovery
Before data recovery , You need to prepare to restore the environment , And have the relevant permissions of the database .
Environmental preparation
Download the file backup-rbac.yaml, And execute the following command in
test2
This namespace Create the required for recovery RBAC Related resources :kubectl apply -f backup-rbac.yaml -n test2
Remote storage access authorization .
Reference resources GCS Account Authorization Authorized access GCS Remote storage .
establish
restore-demo2-tidb-secret
secret, The secret Store to access TiDB Clustered root Account and key :kubectl create secret generic restore-demo2-tidb-secret --from-literal=user=root --from-literal=password=${password} --namespace=test2
Required database permissions
Use TiDB Lightning take GCS Restore the backup data on to TiDB Before cluster , Make sure you have the following permissions to back up the database :
jurisdiction | Scope |
---|---|
SELECT | Tables |
INSERT | Tables |
UPDATE | Tables |
DELETE | Tables |
CREATE | Databases, tables |
DROP | Databases, tables |
ALTER | Tables |
Restore the specified backup data to TiDB colony
establish restore custom resource (CR), Restore the specified backup data to TiDB colony :
kubectl apply -f restore.yaml
restore.yaml
The contents of the document are as follows :--- apiVersion: pingcap.com/v1alpha1 kind: Restore metadata: name: demo2-restore namespace: test2 spec: to: host: ${tidb_host} port: ${tidb_port} user: ${tidb_user} secretName: restore-demo2-tidb-secret gcs: projectId: ${project_id} secretName: gcs-secret path: gcs://${backup_path} # storageClassName: local-storage storageSize: 1Gi
The above examples will be stored in GCS Specify the path on
spec.gcs.path
Backup data to TiDB colonyspec.to.host
. About GCS You can refer to GCS Field is introduced .more
Restore
CR For detailed explanation of fields, please refer to Restore CR Field is introduced .Create good
Restore
CR After that, you can view the status of recovery through the following command :kubectl get rt -n test2 -owide
Be careful
TiDB Operator Will create a PVC, For data recovery , The backup data will be downloaded from the remote storage to PV, And then recover . If you want to delete this after the recovery PVC, You can refer to Delete resources First restore Pod Delete , Then take it. PVC Delete .
边栏推荐
- Docker部署Mysql8的实现步骤
- Storage of data
- QT 项目 表格新建列名称设置 需求练习(找数组消失的数字、最大值)
- 如何检测mysql代码运行是否出现死锁+binlog查看
- Confirm the future development route! Digital economy, digital transformation, data This meeting is very important
- 【OA】Excel 文档生成器: Openpyxl 模块
- [development software] tilipa Developer Software
- QT 使用QToolTip 鼠标放上去显示文字时会把按钮的图片也显示了、修改提示文字样式
- Clock in during winter vacation
- Construction of Hisilicon universal platform: color space conversion YUV2RGB
猜你喜欢
Simple implementation of AVL tree insertion and verification operations
2022中青杯C题城市交通思路分析
Top 50 hit industry in the first half of 2022
机器学习笔记 - 使用机器学习进行鸟类物种分类
【安全攻防】序列化与反序列,你了解多少?
API data interface of A-share index component data
史上最全MongoDB之安全认证
【OA】Excel 文档生成器: Openpyxl 模块
Implementation steps of docker deploying mysql8
Antd Comment 递归循环评论
随机推荐
Arduino droplet detection
MySQL的索引
运算放大器应用汇总1
太方便了,钉钉上就可完成代码发布审批啦!
史上最全MongoDB之部署篇
Summer 2022 daily question 1 (1)
The JSON format of the international area code of the mobile phone number is obtained with PHP
Free PHP online decryption tool source code v1.2
Class常量池与运行时常量池
史上最全学习率调整策略lr_scheduler
Hisilicon 3559 universal platform construction: RTSP real-time playback support
2022年电工杯B 题 5G 网络环境下应急物资配送问题思路分析
It's too convenient. You can complete the code release and approval by nailing it!
[leetcode] 450 and 98 (deletion and verification of binary search tree)
MySQL的存储引擎
ABAP Dynamic Inner table Group cycle
ABAP 动态内表分组循环
【安全攻防】序列化與反序列,你了解多少?
SQL injection -day15
Binary, octal, hexadecimal