clickhouse-backup日常维护
环境:
Os:Centos 7
clickhouse-backup:2.6.5
clickhouse:24.8.11.5
1.恢复整个库
clickhouse-backup restore mybak_p1_102_dist --tables=db_test.* --config=/etc/clickhouse-backup/config.yml
2.--data只恢复数据 不重建表,多分片的集群上备份的文件恢复到单机需要该选项
分片集群每个分片上备份的表(不是ENGINE = Distributed创建)需要单独备份
mybak_p1_102
mybak_p2_105
mybak_p3_106
分别是分片上创建的备份
clickhouse-backup restore mybak_p1_102 --tables=db_test.tb_test --config=/etc/clickhouse-backup/config.yml ##第一个不加--data 否则不会创建表
clickhouse-backup restore mybak_p2_105 --tables=db_test.tb_test --data --config=/etc/clickhouse-backup/config.yml
clickhouse-backup restore mybak_p3_106 --tables=db_test.tb_test --data --config=/etc/clickhouse-backup/config.yml
3.更换表名(--restore-database-mapping两边一致):
clickhouse-backup restore mybak_p1_102 --config=/etc/clickhouse-backup/config.yml --restore-table-mapping=tb_test:tb_test01 --restore-database-mapping=db_test:db_test ## 分片1的备份恢复需要先创建表 不带--data
clickhouse-backup restore mybak_p2_105 --config=/etc/clickhouse-backup/config.yml --data --restore-table-mapping=tb_test:tb_test01 --restore-database-mapping=db_test:db_test
clickhouse-backup restore mybak_p3_106 --config=/etc/clickhouse-backup/config.yml --data --restore-table-mapping=tb_test:tb_test01 --restore-database-mapping=db_test:db_test
4.更换库名和表名
clickhouse-backup restore mybak_p1_102 --config=/etc/clickhouse-backup/config.yml --restore-table-mapping=tb_test:tb_test01 --restore-database-mapping=db_test:db_test01 ## 分片1的备份恢复需要先创建表 不带--data
clickhouse-backup restore mybak_p2_105 --config=/etc/clickhouse-backup/config.yml --data --restore-table-mapping=tb_test:tb_test01 --restore-database-mapping=db_test:db_test01
clickhouse-backup restore mybak_p3_106 --config=/etc/clickhouse-backup/config.yml --data --restore-table-mapping=tb_test:tb_test01 --restore-database-mapping=db_test:db_test01
5.变更库名
clickhouse-backup restore mybak_p1_102 --config=/etc/clickhouse-backup/config.yml --tables=db_test.tb_test --restore-database-mapping=db_test:db_test01
6.查看备份
clickhouse-backup list --config=/etc/clickhouse-backup/config.yml
7.删除本地备份
clickhouse-backup delete local mybak_p1_102 --config=/etc/clickhouse-backup/config.yml
备份目录下的文件夹会自动删除掉
[root@master backup]# pwd
/home/middle/clickhouse/data/backup
8.分布式环境备份
每个分片都要执行clickhouse-backup才能备份整个集群,可以把每个分片的备份集拷贝到单机上恢复,恢复会恢复本地表和分布式表(分布式表也会有数据)
备份分片1
clickhouse-backup create mybak_p1_102_dist --config=/etc/clickhouse-backup/config.yml
备份分片2
clickhouse-backup create mybak_p2_105_dist --config=/etc/clickhouse-backup/config.yml
备份分片3
clickhouse-backup create mybak_p3_106_dist --config=/etc/clickhouse-backup/config.yml
备份文件传输到单机的备份目录后,进行恢复
clickhouse-backup restore mybak_p1_102_dist --tables=db_test.* --config=/etc/clickhouse-backup/config.yml ##第一个分片不要加--data,因为需要创建表结构
clickhouse-backup restore mybak_p2_105_dist --tables=db_test.* --data --config=/etc/clickhouse-backup/config.yml
clickhouse-backup restore mybak_p3_106_dist --tables=db_test.* --data --config=/etc/clickhouse-backup/config.yml
浙公网安备 33010602011771号