You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决long2ice/synch运行命令报invalid choice: 'mysql_db'错误

报错原因

命令参数顺序不符合synch的命令规范。synch的子命令(etl/produce/consume)必须放在全局参数(--alias/-c等)之前,你把--alias mysql_db放在etl之前,程序会将mysql_db误识别为子命令,因此触发无效选项报错。

配置检查

你当前贴出的仅为单数据源的片段配置,存在多处遗漏:

  • 缺少ClickHouse服务的连接配置,包含地址、端口、账号、密码等必填项
  • 缺少你指定的broker(redis)的连接配置,包含地址、端口、库号、密码等必填项
  • 单数据源的mysql配置需要嵌套在最外层的sources数组中,否则程序无法读取到你定义的mysql_db别名
  • 若需同步指定表,需要在对应database配置下添加tables字段,列出需要同步的表名,否则不会执行同步逻辑

解决方法

1. 修正命令参数顺序

正确的命令格式为:

synch etl --alias mysql_db -h

2. 补全完整配置文件

参考如下结构补全你的配置文件:

# ClickHouse全局连接配置
clickhouse:
  host: 127.0.0.1
  port: 9000
  user: default
  password: ""

# Redis全局连接配置(你使用redis作为broker需配置该项)
redis:
  host: 127.0.0.1
  port: 6379
  password: ""
  db: 0
  prefix: "synch"

# 数据源列表
sources:
  - db_type: mysql
    alias: mysql_db
    broker_type: redis
    server_id: 1
    host: 127.0.0.1
    port: 3306
    user: root
    password: "12345"
    init_binlog_file:
    init_binlog_pos:
    skip_dmls:
    skip_delete_tables:
    skip_update_tables:
    databases:
      - database: test
        # 填写你需要同步的test库下的表名
        tables:
          - table1
          - table2

内容的提问来源于stack exchange,提问作者Bimal Kumar Dalei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:30:00