Tableau Online
Tableau Online は、MySQL インターフェースを通じて ClickHouse Cloud またはオンプレミスの ClickHouse セットアップに接続できます。
ClickHouse Cloud セットアップ
- ClickHouse Cloudサービスを作成した後、
Connect your app
画面でドロップダウンからMySQLを選択します。

- この特定のサービスのためにMySQLインターフェースを有効にするスイッチを切り替えます。これにより、このサービスの
3306
ポートが公開され、ユニークなMySQLユーザー名を含むMySQL接続画面が表示されます。

既存のサービスに対してMySQLインターフェースを有効にするには:
- サービスが
Running
状態であることを確認し、MySQLインターフェースを有効にしたいサービスをクリックします。左メニューから「Connect」を選択します:

Connect With
ドロップダウンからMySQLを選択します。

- この特定のサービスのためにMySQLインターフェースを有効にするスイッチを切り替えます。これにより、このサービスの
3306
ポートが公開され、ユニークなMySQLユーザー名を含むMySQL接続画面が表示されます。

ClickHouse Cloudでの複数のMySQLユーザーの作成
デフォルトでは、mysql4<subdomain>
という組み込みのユーザーがあり、これはdefault
と同じパスワードを使用します。<subdomain>
部分は、ClickHouse Cloudホスト名の最初のセグメントです。この形式は、セキュアな接続を実装するツールと連携するために必要で、TLSハンドシェイクでSNI情報を提供しないため、ユーザー名に追加のヒントがないと内部ルーティングができなくなります(MySQLコンソールクライアントはそのようなツールの一つです)。
このため、MySQLインターフェースで使用する新しいユーザーを作成する際には、mysql4<subdomain>_<username>
形式に従うことを強く推奨します。ここで、<subdomain>
はCloudサービスを識別するためのヒントであり、<username>
は任意のサフィックスです。
ClickHouse Cloudホスト名がfoobar.us-east1.aws.clickhouse.cloud
の場合、<subdomain>
部分はfoobar
となり、カスタムMySQLユーザー名はmysql4foobar_team1
のようになります。
必要に応じて、MySQLインターフェースで使用する追加のユーザーを作成できます。
-
オプション - カスタムユーザーに適用する設定プロファイルを作成します。例えば、
my_custom_profile
を作成し、後で作成するユーザーで接続する際にデフォルトで適用される追加設定を指定します。prefer_column_name_to_alias
は例として使用されており、他の設定を使用してもかまいません。 -
ユーザーを作成する際に、
mysql4<subdomain>_<username>
形式を使用します(上記を参照)。パスワードはダブルSHA1形式でなければなりません。例えば:または、このユーザーにカスタムプロファイルを使用する場合:
ここで、
my_custom_profile
は前に作成したプロファイルの名前です。 -
権限を付与し、新しいユーザーに必要なテーブルやデータベースとのインタラクションの権限を与えます。例えば、
system.query_log
のみへのアクセスを付与したい場合は: -
作成したユーザーを使用してMySQLインターフェースでClickHouse Cloudサービスに接続します。
ClickHouse Cloudでの複数のMySQLユーザーのトラブルシューティング
新しいMySQLユーザーを作成したが、MySQL CLIクライアントで接続中に次のエラーが表示される場合:
この場合、ユーザー名がmysql4<subdomain>_<username>
形式に従っていることを確認してください(上記を参照)。
オンプレミス ClickHouse サーバーセットアップ
以下を参照してください the official documentation で、MySQLインターフェースを有効にしたClickHouseサーバーのセットアップ方法を確認できます。
サーバーの config.xml
にエントリを追加することに加えて
MySQLインターフェースを使用するユーザーについては 必須 で Double SHA1 password encryption を使用する必要があります。
シェルからDouble SHA1で暗号化されたランダムパスワードを生成する方法:
出力は以下のようになります:
最初の行は生成されたパスワードで、2行目はClickHouseの設定に使用できるハッシュです。
以下は、生成されたハッシュを使用する mysql_user
の設定例です:
/etc/clickhouse-server/users.d/mysql_user.xml
password_double_sha1_hex
エントリを独自に生成したDouble SHA1ハッシュに置き換えてください。
さらに、use_mysql_types_in_show_columns
を使用することをお勧めします。これにより、SHOW [FULL] COLUMNS
クエリ結果でClickHouseの型ではなく、ネイティブのMySQL型が表示されるため、BIツールがMySQLコネクタを使用してデータベーススキーマを適切に調査できます。
例えば:
/etc/clickhouse-server/users.d/mysql_user.xml
または、デフォルトのプロファイルの代わりに別のプロファイルに割り当てることができます。
mysql
バイナリが利用可能であれば、コマンドラインから接続をテストできます。
上記のサンプルユーザー名(mysql_user
)とパスワード(LZOQYnqQN4L/T6L0
)を使用する場合、コマンドラインは次のようになります:
最後に、Clickhouseサーバーが希望のIPアドレスで待機するように設定します。例えば、config.xml
で、すべてのアドレスでリッスンするように以下のコメントを外します:
Tableau Online を ClickHouse に接続する (SSL なしのオンプレミス)
あなたの Tableau Cloud サイトにログインし、新しい公開データソースを追加します。

利用可能なコネクタのリストから「MySQL」を選択します。

ClickHouse セットアップ中に収集した接続情報を指定します。

Tableau Online はデータベースをインテロスペクトし、利用可能なテーブルのリストを提供します。使用したいテーブルを右側のキャンバスにドラッグします。さらに、「今すぐ更新」をクリックしてデータをプレビューし、インテロスペクトされたフィールドの型や名前を微調整できます。

その後は、右上隅で「公開として」をクリックするだけで、新しく作成されたデータセットを Tableau Online で通常通り使用できるようになります。
注意: Tableau Online を Tableau Desktop と組み合わせて使用し、ClickHouse データセットを共有したい場合は、デフォルトの MySQL コネクタを使用して Tableau Desktop を使用し、データソースのドロップダウンから MySQL を選択した際に表示されるセットアップガイドに従ってください。M1 Mac をお持ちの場合は、ドライバーインストールのワークアラウンドについては このトラブルシューティングスレッドを確認してください。
Tableau Online を ClickHouse に接続する (SSL 使用の Cloud またはオンプレミスセットアップ)
Tableau Online の MySQL 接続セットアップウィザードを通じて SSL 証明書を提供することはできないため、唯一の方法は Tableau Desktop を使用して接続をセットアップし、その後 Tableau Online にエクスポートすることです。このプロセスはそれほど複雑ではありません。
Windows または Mac マシンで Tableau Desktop を実行し、「接続」 -> 「サーバーに接続」 -> 「MySQL」を選択します。 まず、マシンに MySQL ドライバーをインストールする必要があります。これは、データソースのドロップダウンから MySQL を選択した際に表示されるセットアップガイドに従うことで行えます。M1 Mac をお持ちの場合は、ドライバーインストールのワークアラウンドについては このトラブルシューティングスレッドを確認してください。

MySQL 接続セットアップ UI では、「SSL」オプションが有効になっていることを確認してください。 ClickHouse Cloud の SSL 証明書は Let's Encrypt によって署名されています。 このルート証明書は こちら からダウンロードできます。
あなたの ClickHouse Cloud インスタンスの MySQL ユーザー認証情報とダウンロードしたルート証明書のパスを指定します。

通常通り使用したいテーブルを選択し(Tableau Online と同様に)、 「サーバー」 -> 「データソースを公開」 -> Tableau Cloud を選択します。

重要: 「認証」オプションで「埋め込みパスワード」を選択する必要があります。

さらに、「公開データソースを使用するようにワークブックを更新」を選択します。

最後に「公開」をクリックすると、埋め込まれた認証情報を持つデータソースが自動的に Tableau Online で開かれます。
既知の制限 (ClickHouse 23.11)
既知の制限はすべて ClickHouse 23.11
で修正されました。他に互換性の問題が発生した場合は、どうぞお気軽に お問い合わせ いただくか、新しい問題を作成してください。