语法
配置磁盘备份目标位置
为本地磁盘配置备份目标位置
Disk('backups', '1.zip')。
要使用 Disk 备份引擎,首先需要在下面的路径添加一个用于指定
备份目标位置的文件:
backups 的磁盘,并将其添加到
backups 的 allowed_disk 列表中:
为 S3 磁盘配置备份目标位置
BACKUP/RESTORE 到 S3。像上文为本地磁盘所做的那样,在
/etc/clickhouse-server/config.d 中添加一个文件来配置该磁盘。
BACKUP/RESTORE 的方式与本地磁盘相同:
- 此磁盘不应用于
MergeTree本身,只用于BACKUP/RESTORE - 如果你的表使用 S3 存储,且磁盘类型不同,
则不会使用
CopyObject调用将 parts 复制到目标端 bucket,而是 通过下载后再上传来完成,这样效率非常低。在这种情况下,建议优先使用BACKUP ... TO S3(<endpoint>)语法来处理此类用例。
本地磁盘备份/恢复使用示例
对表进行备份和恢复
设置命令
设置命令
创建数据库和表:预处理并插入 1000 行随机数据:接下来,你需要在以下路径创建一个文件,用于指定 backup destination:
如果 clickhouse-server 正在运行,则需要重启它,更改才会生效。
Query
Response
Query
Response
如果表
test.table 中已有数据,上述 RESTORE 将会失败。
设置 allow_non_empty_tables=true 允许 RESTORE TABLE 将数据插入
到非空表中。这会将表中原有数据与从备份中提取的数据混合在一起。
因此,此设置可能会导致表中出现重复数据,应谨慎使用。磁盘增量备份
base_backup 来指定基础备份的存储位置。
增量备份依赖基础备份。必须保留基础备份,
才能从增量备份中恢复。
test_db.test_table2:
保护备份
password 设置指定密码。
密码保护仅支持 ZIP 归档 (
.zip、.zipx) 。
备份路径必须以 .zip 或 .zipx 结尾,密码才会生效。
对任何其他格式使用密码——包括 tar 归档和非归档路径——都会
导致 BAD_ARGUMENTS 错误:Password is not applicable, backup cannot be encrypted。password 设置指定密码:
tar 归档形式的备份
tar.gz.tgztar.bz2tar.lzma.tar.zst.tzst.tar.xz
压缩设置
compression_method 和 compression_level
来指定压缩方法和压缩级别。
恢复特定分区
设置
设置