SuperAPI AI 工具集

clickhousectl-cloud-deploy

部署与运维

查看项目

更新于 10-15 19:49

技能介绍

用途:当用户希望把 ClickHouse 应用部署到生产、使用 ClickHouse Cloud 托管服务、从本地迁移到云端,或首次创建 ClickHouse Cloud 服务时,可按此技能逐步操作。

主要能力与步骤:

  1. 注册账号:前往 https://clickhouse.cloud 用邮箱、Google 或 GitHub 注册,有免费试用。
  2. 认证 CLI:先确认安装 which clickhousectl,未安装则运行 curl -fsSL https://clickhouse.com/cli | sh。在控制台创建 API Key(Settings → API Keys → Create API Key),需选 Admin 角色,因为 cloud service query 首次使用会自动创建按服务的查询端点密钥。用 clickhousectl cloud login --api-key <key> --api-secret <secret> 登录,两个参数都必填;用 clickhousectl cloud org list 验证。
  3. 创建服务:clickhousectl cloud service create --name <service-name>,把输出的 HTTPS 主机与端口写入 .env 的 CLICKHOUSE_HOST、CLICKHOUSE_PORT,并确保 .env 被 gitignore;用 clickhousectl cloud service get <service-id> 轮询至 running。
  4. 迁移结构:用 clickhousectl cloud service query --name <service-name> --queries-file clickhouse/tables/<table>.sql 按依赖顺序应用表,再应用物化视图;可用 --database <name> 指定库。
  5. 验证:执行 SHOW TABLES、DESCRIBE TABLE <table-name> 确认。
  6. 创建应用专用用户:默认用户权限过高,应新建受限用户。先用 openssl rand -base64 32 生成密码并写入 .env,再执行 CREATE USER app_user IDENTIFIED BY '$PASSWORD',并按需 GRANT SELECT, INSERT ON <database>.* TO app_user;只读应用可去掉 INSERT,需要建表再授予 CREATE TABLE、DROP TABLE,多库需逐库授权。用 SHOW GRANTS FOR app_user 验证。

限制:ClickHouse 无法再次显示密码,.env 丢失需用 ALTER USER 重置;密钥 Secret 仅显示一次;Developer 角色密钥可能无法完成自动预配。资料未提供价格、配额与平台细节。