メインコンテンツへスキップ
設定例:
SOURCE(MYSQL(
    port 3306
    user 'clickhouse'
    password 'qwerty'
    replica(host 'example01-1' priority 1)
    replica(host 'example01-2' priority 1)
    db 'db_name'
    table 'table_name'
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    fail_on_connection_loss 'true'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))

設定フィールド:
SettingDescription
portMySQL サーバーのポートです。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。
userMySQL ユーザー名です。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。
passwordMySQL ユーザーのパスワードです。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。
replicaレプリカ設定のセクションです。複数指定できます。
replica/hostMySQL ホストです。
replica/priorityレプリカの優先度です。接続を試みる際、ClickHouse は優先度順にレプリカをたどります。数値が小さいほど優先度は高くなります。
dbデータベース名です。
tableテーブル名です。
where選択条件です。条件の構文は MySQL の WHERE 句と同じで、たとえば id > 10 AND id < 20 のように指定します。省略可能です。
invalidate_queryDictionary の状態を確認するためのクエリです。省略可能です。詳しくは、LIFETIME を使用した Dictionary データの更新 を参照してください。
fail_on_connection_loss接続が失われたときのサーバーの動作を制御します。true の場合、クライアントとサーバー間の接続が失われると、ただちに例外がスローされます。false の場合、ClickHouse server は例外をスローする前にクエリの実行を 3 回再試行します。再試行すると応答時間が長くなる点に注意してください。デフォルト値: false
queryカスタムクエリです。省略可能です。
table フィールドまたは where フィールドは、query フィールドと併用できません。また、table フィールドまたは query フィールドのいずれか一方は必ず指定する必要があります。
明示的な secure パラメータはありません。SSL 接続を確立する場合、セキュリティは必須です。
MySQL には、ローカルホスト上でソケット経由で接続できます。これを行うには、hostsocket を設定します。 設定例:
SOURCE(MYSQL(
    host 'localhost'
    socket '/path/to/socket/file.sock'
    user 'clickhouse'
    password 'qwerty'
    db 'db_name'
    table 'table_name'
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    fail_on_connection_loss 'true'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))
最終更新日 2026年6月10日