ClickHouse数据备份

1,141 阅读1分钟

导出文件备份

数据量较小的情况下使用 导出数据到文件

clickhouse-client --query="SELECT * FROM test" > /tmp/test_backup.tsv

从文件读数据写到ck

cat /tmp/test_backup.tsv | clickhouse-client --query "INSERT INTO test FORMAT TSV"

通过快照表备份

创建备份表

CREATE TABLE test_backup_1002 AS test

备份本地数据

INSERT INTO test_backup_1002 SELECT * FROM test 

备份远程数据

INSERT INTO test_backup_1002 SELECT * FROM remote('192.168.1.10:9000','default','test','default') 

按分区备份

FREEZE备份

将表part_v1的20190103分区备份

ALTER TABLE part_v1 FREEZE PARTITION 20190103

数据备份到/var/lib/clickhouse/shadow/1/data/test/part_v1/20190103_3_7_1 1是自增长整数,代表备份的次数

FETCH备份

只支持ReplicatedMergeTree系列引擎 ALTER TABLE table_name FETCH PARTITION partition_id FROM zk_path

通过zk_path找到该表的所有副本,选择一个最合适的副本,下载指定的分区数据,保存在../detached目录