分享知识,分享快乐

0%

tidb备份、还原、cdc实时同步

tidb备份,还原,cdc实时同步

全量备份

1
2
3
4
#指定时间备份
tiup br backup full --pd "172.20.192.115:2379" \
--storage "s3://tidb/all20240520?access-key=minioadmin&secret-access-key=***&endpoint=http://172.20.192.151:6060&force-path-style=true" \
--backupts='2024/05/18 00:00:00'

增量备份

1
2
3
4
5
6
# 获取上一次的备份时间戳
tiup br validate decode --field="end-version" --storage 's3://tidb/all20240520?access-key=minioadmin&secret-access-key=minioadmin&endpoint=http://172.20.192.151:6060'| tail -n1

tiup br backup full --pd "172.20.192.115:2379" \
--storage "s3://tidb/add20240520?access-key=minioadmin&secret-access-key=***&endpoint=http://172.20.192.151:6060&force-path-style=true" \
--lastbackupts='449829037670400000'

cdc实时同步

1
2
3
4
# 获取上一次的备份时间戳
tiup br validate decode --field="end-version" --storage 's3://tidb/all20240520?access-key=minioadmin&secret-access-key=***&endpoint=http://172.20.192.151:6060'| tail -n1

tiup cdc cli changefeed create --server=http://172.20.192.108:8300 --sink-uri="mysql://root:***@172.20.192.233:32570" --changefeed-id="prod-to-k8s" --start-ts="449887328375668790"

– 对于错误代码为 8138、8139 和 8140 的错误,可以通过设置 set @@tidb_enable_mutation_checker=0 跳过检查。
– 对于错误代码为 8141 的错误,可以通过设置 set @@tidb_txn_assertion_level=OFF 跳过检查。

“error”: {
“time”: “2024-05-20T18:08:00.547340271+08:00”,
“addr”: “172.20.192.107:8300”,
“code”: “CDC:ErrChangefeedUnretryable”,
“message”: “[CDC:ErrMySQLTxnError]MySQL txn error: context deadline exceeded”
}

tiup cdc cli changefeed create --server=http://172.20.192.107:8300 --sink-uri=“mysql://root:***@172.20.192.233:32570?max-txn-row=20” --changefeed-id=“prod-to-k8s” --start-ts=“449889998692417548” --config /home/tidb/cdc-prod-to-k8s.toml

开启日志备份

1
2
tiup br log start --task-name=pitr --pd="172.20.192.115:2379" \
--storage='s3://tidb/log-backup?access-key=minioadmin&secret-access-key=***&endpoint=http://172.20.192.151:6060&force-path-style=true"'

tiup br log status --task-name=pitr --pd=“172.20.192.115:2379”