ClickHouse Cloud の設定
1
Connect your app を選択
ClickHouse Cloud サービスを作成したら、
Connect your app 画面でドロップダウンから MySQL を選択します。
2
MySQL インターフェイスを有効にする
このサービスで MySQL インターフェイスを有効にするには、スイッチをオンにします。
これにより、このサービスでポート 
また、既存のサービスで MySQL インターフェイスを有効にする場合は、次の手順に従います。
3306 が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。
3
Connect を選択
サービスが 
Running 状態であることを確認してから、MySQL インターフェイスを有効にしたいサービスをクリックします。
左側のメニューから “Connect” を選択します。
4
MySQL を選択
Connect With ドロップダウンから MySQL を選択します。
5
MySQL インターフェイスを有効にする
このサービスで MySQL インターフェイスを有効にするには、スイッチをオンにします。
これにより、このサービスでポート
3306 が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。
ClickHouse Cloud で読み取り専用の MySQL ユーザーを作成する
mysql4<subdomain> ユーザーが自動的に作成されます。
<subdomain> の部分は、ClickHouse Cloud のホスト名の先頭部分に対応します。
このユーザー名形式は、安全な接続を確立しても TLS ハンドシェイクに SNI (Server Name Indication) 情報を含めないツールとの互換性のために必要です。
SNI 情報がないと、システムは適切な内部ルーティングを実行できないため、ユーザー名に埋め込まれたサブドメイン情報が必要なルーティング情報を補います。
MySQL コンソールクライアントは、その一例です。
ClickHouse Cloud のホスト名が
foobar.us-east1.aws.clickhouse.cloud の場合、<subdomain> の部分は foobar で、カスタム MySQL ユーザー名は mysql4foobar_team1 のようになります。1
読み取り専用の設定プロファイルを作成する
読み取り専用ユーザーに適用する 設定プロファイル を作成し、
readonly 設定を 1 にします。2
新しい読み取り専用の MySQL ユーザーを作成する
3
新しいユーザーに必要なテーブルへのアクセス権限を付与する
必要なテーブルまたはデータベースを操作できるように、新しいユーザーに必要な権限を 付与 します。
たとえば、新しく作成したユーザーは、MySQL インターフェイスを使用して ClickHouse Cloud サービスに接続する際に利用できます。
system.query_log のみにアクセスを許可する場合は次のとおりです。読み取り専用ユーザーには、アクセスさせたいテーブルに対して
SELECT 権限のみを付与してください。ClickHouse Cloud で複数の MySQLユーザーをトラブルシューティングする
mysql4<subdomain>_<username> 形式に従っていることを確認してください。
オンプレミスの ClickHouse サーバーのセットアップ
config.xml にエントリを追加する以外に
mysql_user の設定例です。
/etc/clickhouse-server/users.d/mysql_user.xml
password_double_sha1_hex エントリを、自分で生成したダブル SHA1 ハッシュに置き換えてください。
さらに、SHOW [FULL] COLUMNS クエリの結果に ClickHouse の型ではなくネイティブな MySQL 型を表示するため、use_mysql_types_in_show_columns を使用することを推奨します。
これにより、MySQL コネクタを使用する際に、BI ツールがデータベースのスキーマを適切に解析できるようになります。
例:
/etc/clickhouse-server/users.d/mysql_user.xml
mysql バイナリが利用できる場合は、コマンドラインから接続をテストできます。
上記のサンプルのユーザー名 (mysql_user) とパスワード (LZOQYnqQN4L/T6L0) を使用すると、コマンドラインは次のようになります。
config.xml で全アドレスを待ち受けるには、以下のコメントアウトを解除します。
Tableau Online を ClickHouse に接続する (オンプレミス環境、SSL なし)
使用可能なコネクタの一覧から “MySQL” を選択します。
ClickHouse のセットアップ時に取得した接続情報を入力します。
Tableau Online がデータベースを読み取り、利用可能なテーブルの一覧を表示します。目的のテーブルを右側のキャンバスへドラッグします。さらに、“Update Now” をクリックしてデータをプレビューしたり、読み取られたフィールドの型や名前を調整したりできます。
あとは右上の “Publish As” をクリックするだけで、新しく作成したデータセットを Tableau Online で通常どおり使用できるようになります。 注: Tableau Online を Tableau Desktop と併用し、両者の間で ClickHouse のデータセットを共有したい場合は、Tableau Desktop 側でも既定の MySQL コネクタを使用してください。その際は、Data Source ドロップダウンから MySQL を選択すると表示されるセットアップガイド (こちら) に従ってください。M1 Mac を使用している場合は、ドライバーのインストール回避策について このトラブルシューティングスレッド を確認してください。
Tableau Online を ClickHouse に接続する (SSL を使用するクラウドまたはオンプレミス環境)
MySQL 接続設定 UI では、“SSL” オプションが有効になっていることを確認してください。
ClickHouse Cloud の SSL 証明書は Let’s Encrypt によって署名されています。
このルート証明書は こちら からダウンロードできます。
通常どおり必要なテーブルを選択し (Tableau Online の場合と同様) 、 “Server” -> “Publish Data Source” -> Tableau Cloud を選択します。
重要: “Authentication” オプションで “Embedded password” を選択する必要があります。
さらに、“Update workbook to use the published data source” を選択します。
最後に “Publish” をクリックすると、認証情報が埋め込まれたデータソースが Tableau Online で自動的に開きます。
既知の制限事項 (ClickHouse 23.11)
23.11 ですべて修正されています。ほかに互換性の問題が見つかった場合は、お問い合わせいただくか、新しい Issue を作成してください。