Skip to main content
リモートの MySQL サーバー上のデータベースに接続し、ClickHouse と MySQL の間でデータをやり取りするための INSERT および SELECT クエリを実行できます。 MySQL データベースエンジンはクエリを MySQL サーバー向けに変換するため、SHOW TABLESSHOW CREATE TABLE などの操作を実行できます。 次のクエリは実行できません。
  • RENAME
  • CREATE TABLE
  • ALTER

データベースの作成

エンジンパラメータ
  • host:port — MySQL サーバーのアドレス。
  • database — リモートデータベースの名前。
  • user — MySQL のユーザー名。
  • password — ユーザーのパスワード。
設定

enable_compression

MySQLプロトコルの接続で zlib 圧縮を有効にします。1 に設定すると、ClickHouse は MySQLサーバーに対してプロトコルレベルの圧縮を要求します。 デフォルト値: 0 例:

TLS/SSL

MySQL への暗号化接続の認証情報は、named collection のキー (またはキー・バリュー引数) として渡されます。 値には対応する PEM ファイルの内容を指定します。これらは named collection またはクエリにコピーできます。パスワードと同様に、ログおよび SHOW クエリではマスクされます。 同じ認証情報は、サーバー上のファイルへのパスとして ssl_cassl_certssl_key に指定することもできます。ただし、サーバー設定ファイルで定義された named collection 内でのみ指定でき、このような値はクエリでオーバーライドできません。サーバーは自身の権限でこれらのファイルを開くため、SQL からパスを受け入れると、MySQL ログソースを定義できるユーザーであれば誰でもローカルファイルシステムを調べ、自身に読み取り権限のない証明書と秘密鍵を使って認証できるようになります。

対応するデータ型

空間型の変換 (常に変換される POINT を除く) は、デフォルトで有効になっている mysql_datatypes_support_level 設定の geometry フラグで制御されます。汎用的な GEOMETRY カラム型は、具体的なジオメトリ型の Variant である包括的な Geometry 型にマッピングされます。このようなカラムには任意のサブタイプの値を格納できるため、ClickHouse に対応する型がないサブタイプ (GEOMETRYCOLLECTION) の値を読み取ると、読み取り時に例外が発生します。適切なジオメトリ型を使用するため、この非互換性は許容されています。GEOMETRYCOLLECTION 型で宣言されたカラムは、他のすべての MySQL データ型と同様に、String に変換されます。 Nullable もサポートされています。空間カラムは、次の 3 つの場合、ジオメトリ型ではなく String (nullable の場合は Nullable(String)) にマッピングされます。GEOMETRYCOLLECTION として宣言されている場合、geometry フラグが無効で型が POINT ではない場合、または PointNullable 内にネストできる唯一のジオメトリ型であるため、カラムが nullable で型が POINT ではない場合です。いずれの場合も、文字列には MySQL が返す値がそのまま格納されます。つまり、4 バイトの SRID プレフィックスの後に WKB ペイロードが続くため、WKB デコーダに渡す前に先頭の 4 バイトを取り除いてください。

グローバル変数のサポート

互換性を高めるため、MySQL スタイルで @@identifier としてグローバル変数を参照できます。 サポートされている変数は次のとおりです。
  • version
  • max_allowed_packet
現時点では、これらの変数はダミーであり、実際には何にも対応していません。
例:

使用例

MySQLのテーブル:
MySQLサーバーとデータをやり取りする ClickHouse 内のデータベース:
最終更新日 2026年8月14日