首页 > 解决方案 > 覆盖 clickhouse-backup 默认配置

问题描述

我想创建我的 clickhouse 数据库的备份。我在这里按照指南进行操作。

按照指南中的建议,我正在使用官方的微型 docker 映像进行 clickhouse-backup。例如运行时:

$ clickhouse-backup tables

我会收到这样的回复:

can't connect to clickouse with: dial tcp 127.0.0.1:9000: connect: connection refused

这就是为什么我要覆盖默认配置,因为端口不同。它在指南中说可以通过环境变量覆盖默认选项。所以我创建了一个这样的脚本:

#!/bin/bash
export CLICKHOUSE_PORT=8123

但这不会改变命令“$ clickhouse-backup tables ”的响应。

我是否设置了错误的 env 变量或者我可以做些什么来改变默认配置?

默认配置如下所示:

johnnylord:/c/DevTools/source/project/clickhouse-backup$ clickhouse-backup default-config

general:
  remote_storage: s3
  disable_progress_bar: false
  backups_to_keep_local: 0
  backups_to_keep_remote: 0
clickhouse:
  username: default
  password: ""
  host: localhost
  port: 9000
  data_path: ""
  skip_tables:
  - system.*
  timeout: 5m
  freeze_by_part: false
s3:
  access_key: ""
  secret_key: ""
  bucket: ""
  endpoint: ""
  region: us-east-1
  acl: private
  force_path_style: false
  path: ""
  disable_ssl: false
  part_size: 104857600
  compression_level: 1
  compression_format: gzip
  sse: ""
  disable_cert_verification: false
gcs:
  credentials_file: ""
  credentials_json: ""
  bucket: ""
  path: ""
  compression_level: 1
  compression_format: gzip
cos:
  url: ""
  timeout: 2m
  secret_id: ""
  secret_key: ""
  path: ""
  compression_format: gzip
  compression_level: 1
  debug: false

标签: clickhouse

解决方案


9000 -- tcp 协议

8123 -- http协议

您根本不能使用 HTTP(8123) 代替 TCP(9000)。您必须使用 ch_tcp 协议。


推荐阅读