メインコンテンツへスキップ
このページでは、MySQL テーブルからデータを読み取るための MySQL テーブルエンジンの使用方法について説明します。
ClickHouse Cloud では、MySQL ClickPipe (現在パブリックベータ) を使用して、MySQL テーブルから ClickHouse に簡単にデータを移行することもできます。

MySQL テーブルエンジン を使用して ClickHouse を MySQL に接続する

MySQL テーブルエンジン を使用すると、ClickHouse を MySQL に接続できます。SELECT 文と INSERT 文は、ClickHouse 側でも MySQL テーブル側でも実行できます。この記事では、MySQL テーブルエンジン の基本的な使い方を説明します。

1. MySQL を設定する

  1. MySQL にデータベースを作成します:
  CREATE DATABASE db1;
  1. テーブルを作成します:
  CREATE TABLE db1.table1 (
    id INT,
    column1 VARCHAR(255)
  );
  1. サンプル行を挿入します:
  INSERT INTO db1.table1
    (id, column1)
  VALUES
    (1, 'abc'),
    (2, 'def'),
    (3, 'ghi');
  1. ClickHouse から接続するためのユーザーを作成します:
  CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';
  1. 必要に応じて権限を付与します。 (説明のため、mysql_clickhouse ユーザーには管理者権限を付与します。)
  GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';
この機能を ClickHouse Cloud で使用する場合、ClickHouse Cloud の IP アドレスから MySQL インスタンスにアクセスできるよう許可が必要になることがあります。 送信トラフィックの詳細については、ClickHouse の Cloud Endpoints API を確認してください。

2. ClickHouseでテーブルを定義する

  1. それでは、MySQL テーブルエンジンを使用する ClickHouse テーブルを作成しましょう。
  CREATE TABLE mysql_table1 (
    id UInt64,
    column1 String
  )
  ENGINE = MySQL('mysql-host.domain.com','db1','table1','mysql_clickhouse','Password123!')
最低限必要なパラメータは次のとおりです。
parameterDescriptionexample
hostホスト名または IPmysql-host.domain.com
databaseMySQL データベース名db1
tableMySQL テーブル名table1
userMySQL に接続するユーザー名mysql_clickhouse
passwordMySQL に接続するパスワードPassword123!
パラメータの完全な一覧については、MySQL テーブルエンジン のドキュメントページを参照してください。

3. インテグレーションをテストする

  1. MySQL でサンプルの行を挿入します:
  INSERT INTO db1.table1
    (id, column1)
  VALUES
    (4, 'jkl');
  1. MySQLテーブルの既存の行に、先ほど追加した新しい行も含めて、ClickHouseテーブルに入っていることを確認します。
  SELECT
      id,
      column1
  FROM mysql_table1
4 行表示されるはずです。
  Query id: 6d590083-841e-4e95-8715-ef37d3e95197

  ┌─id─┬─column1─┐
  │  1 │ abc     │
  │  2 │ def     │
  │  3 │ ghi     │
  │  4 │ jkl     │
  └────┴─────────┘

  4 rows in set. Elapsed: 0.044 sec.
  1. ClickHouseのテーブルに行を追加しましょう:
  INSERT INTO mysql_table1
    (id, column1)
  VALUES
    (5,'mno')
  1. MySQL に新しい行が表示されていることを確認します:
  mysql> select id,column1 from db1.table1;
新しい行が表示されます:
  +------+---------+
  | id   | column1 |
  +------+---------+
  |    1 | abc     |
  |    2 | def     |
  |    3 | ghi     |
  |    4 | jkl     |
  |    5 | mno     |
  +------+---------+
  5 rows in set (0.01 sec)

概要

MySQL テーブルエンジンを使用すると、ClickHouse を MySQL に接続し、データを双方向にやり取りできます。詳細については、MySQL テーブルエンジン のドキュメントページを参照してください。
最終更新日 2026年6月10日