> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Tableau Online はデータの力を活用し、どこからでも人々がより迅速かつ自信を持って意思決定できるようにします。

# Tableau Online

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

Tableau Online は、公式の MySQL データソースを使用して、MySQL インターフェイス経由で ClickHouse Cloud またはオンプレミスの ClickHouse 環境に接続できます。

<div id="clickhouse-cloud-setup">
  ## ClickHouse Cloud の設定
</div>

<Steps>
  <Step title={<> <code>Connect your app</code> を選択 </>} id="select-connect-your-app">
    ClickHouse Cloud サービスを作成したら、`Connect your app` 画面でドロップダウンから MySQL を選択します。

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql1.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=3fee8b16269b6d6db4be00c671931dc6" alt="MySQL インターフェイス選択用のドロップダウンが表示された ClickHouse Cloud 認証情報画面" width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
    </Frame>
  </Step>

  <Step title="MySQL インターフェイスを有効にする" id="enable-mysql-interface">
    このサービスで MySQL インターフェイスを有効にするには、スイッチをオンにします。
    これにより、このサービスでポート `3306` が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql2.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=1f1065226a43c32aee2f841823e97fa7" alt="MySQL インターフェイスを有効にするトグルと接続詳細が表示された ClickHouse Cloud 画面" width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />
    </Frame>

    また、既存のサービスで MySQL インターフェイスを有効にする場合は、次の手順に従います。
  </Step>

  <Step title={<> <code>Connect</code> を選択 </>} id="select-connect">
    サービスが `Running` 状態であることを確認してから、MySQL インターフェイスを有効にしたいサービスをクリックします。
    左側のメニューから "Connect" を選択します。

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql3.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=563cda780487040d6da61f40bb612113" alt="Connect オプションが強調表示された ClickHouse Cloud サービス接続画面" width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
    </Frame>
  </Step>

  <Step title={<> <code>MySQL</code> を選択 </>} id="choose-mysql">
    `Connect With` ドロップダウンから `MySQL` を選択します。

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql4.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=7e7d9febe22e2d83b4edf27a3f1546ab" alt="MySQL オプションの選択が表示された ClickHouse Cloud 接続画面" width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
      </Frame>
    </div>
  </Step>

  <Step title="MySQL インターフェイスを有効にする" id="enable-mysql-interface-existing-service">
    このサービスで MySQL インターフェイスを有効にするには、スイッチをオンにします。
    これにより、このサービスでポート `3306` が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。
  </Step>
</Steps>

<div className="ch-image-md">
  <Frame>
    <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql5.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=fe4db63a9a94f057aa6b57a2be5366a4" alt="MySQL インターフェイスが有効になり、接続詳細が表示された ClickHouse Cloud 接続画面" width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />
  </Frame>
</div>

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## ClickHouse Cloud で読み取り専用の MySQL ユーザーを作成する
</div>

ClickHouse Cloud では、デフォルトユーザーと同じパスワードを共有する `mysql4<subdomain>` ユーザーが自動的に作成されます。
`<subdomain>` の部分は、ClickHouse Cloud のホスト名の先頭部分に対応します。

このユーザー名形式は、安全な接続を確立しても TLS ハンドシェイクに [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) 情報を含めないツールとの互換性のために必要です。
SNI 情報がないと、システムは適切な内部ルーティングを実行できないため、ユーザー名に埋め込まれたサブドメイン情報が必要なルーティング情報を補います。
MySQL コンソールクライアントは、その一例です。

<Tip>
  ベストプラクティスとして、新しい読み取り専用の MySQL ユーザーを作成することを推奨します。
</Tip>

<Note>
  ClickHouse Cloud のホスト名が `foobar.us-east1.aws.clickhouse.cloud` の場合、`<subdomain>` の部分は `foobar` で、カスタム MySQL ユーザー名は `mysql4foobar_team1` のようになります。
</Note>

<Steps>
  <Step title="読み取り専用の設定プロファイルを作成する" id="create-a-custom-settings-user">
    読み取り専用ユーザーに適用する [設定プロファイル](/docs/ja/reference/statements/create/settings-profile) を作成し、
    `readonly` 設定を `1` にします。

    ```sql theme={null}
    CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1
    ```
  </Step>

  <Step title="新しい読み取り専用の MySQL ユーザーを作成する" id="create-a-readonly-mysql-user">
    次の形式の名前で [ユーザーを作成](/docs/ja/reference/statements/create/user) します。

    ```sql theme={null}
    mysql4<subdomain>_<username>
    ```

    新しいユーザーに `readonly_profile` を適用し、パスワードがダブル SHA1 フォーマットであることを確認してください。例:

    ```sql theme={null}
    CREATE USER mysql4foobar_readonly
    IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
    SETTINGS PROFILE 'readonly_profile';
    ```
  </Step>

  <Step title="新しいユーザーに必要なテーブルへのアクセス権限を付与する" id="grant-the-new-user-the-necessary-permissions">
    必要なテーブルまたはデータベースを操作できるように、新しいユーザーに必要な権限を [付与](/docs/ja/reference/statements/grant) します。
    たとえば、`system.query_log` のみにアクセスを許可する場合は次のとおりです。

    ```sql theme={null}
    GRANT SELECT ON system.query_log TO mysql4foobar_readonly;
    ```

    <Note>
      読み取り専用ユーザーには、アクセスさせたいテーブルに対して `SELECT` 権限のみを付与してください。
    </Note>

    新しく作成したユーザーは、MySQL インターフェイスを使用して ClickHouse Cloud サービスに接続する際に利用できます。
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### ClickHouse Cloud で複数の MySQLユーザーをトラブルシューティングする
</div>

新しい MySQLユーザーを作成し、MySQL CLI クライアント経由で接続した際に次のエラーが表示される場合:

```
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54
```

この場合、ユーザー名が[上記](#creating-multiple-mysql-users-in-clickhouse-cloud)で説明した `mysql4<subdomain>_<username>` 形式に従っていることを確認してください。

<div id="on-premise-clickhouse-server-setup">
  ## オンプレミスの ClickHouse サーバーのセットアップ
</div>

MySQL インターフェイスを有効にした ClickHouse server の設定方法については、[公式ドキュメント](/docs/ja/concepts/features/interfaces/mysql)を参照してください。

サーバーの `config.xml` にエントリを追加する以外に

```xml theme={null}
<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>
```

また、MySQL インターフェイスを使用するユーザーには、
[ダブル SHA1 パスワード暗号化](/docs/ja/concepts/features/configuration/settings/settings-users#user-namepassword)
の使用が*必須*です。

シェルからダブル SHA1 で暗号化されたランダムなパスワードを生成するには:

```shell theme={null}
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
```

出力は以下のようになります。

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

1行目は生成されたパスワードで、2行目はClickHouseの設定に使用できるハッシュです。

以下は、生成されたハッシュを使用する `mysql_user` の設定例です。

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>
```

`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`

```xml theme={null}
<profiles>
    <default>
        <use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
    </default>
</profiles>
```

または、デフォルトではなく別のプロファイルに割り当てます。

`mysql` バイナリが利用できる場合は、コマンドラインから接続をテストできます。
上記のサンプルのユーザー名 (`mysql_user`) とパスワード (`LZOQYnqQN4L/T6L0`) を使用すると、コマンドラインは次のようになります。

```bash theme={null}
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
```

```
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.
```

最後に、ClickHouse Server が指定した IP アドレスで待ち受けるよう設定します。たとえば、`config.xml` で全アドレスを待ち受けるには、以下のコメントアウトを解除します。

```bash theme={null}
<listen_host>::</listen_host> 
```

<div id="connecting-tableau-online-to-clickhouse-on-premise-without-ssl">
  ## Tableau Online を ClickHouse に接続する (オンプレミス環境、SSL なし)
</div>

Tableau Cloud サイトにログインし、新しい Published Data Source を追加します。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=80282e8972fac8925c8e86928f443ff7" alt="Published Data Source を作成するための「New」ボタンが表示された Tableau Online のインターフェイス" border width="1627" height="1024" data-path="images/integrations/data-visualization/tableau_online_01.webp" />

<br />

使用可能なコネクタの一覧から "MySQL" を選択します。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=52b155274958a00c95e7ad65c5dc9742" alt="MySQL オプションが強調表示された Tableau Online のコネクタ選択画面" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_02.webp" />

<br />

ClickHouse のセットアップ時に取得した接続情報を入力します。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=f2dbefab54d05ca84bb59258a5d53de4" alt="server、port、database、認証情報の各フィールドがある Tableau Online の MySQL 接続設定画面" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_03.webp" />

<br />

Tableau Online がデータベースを読み取り、利用可能なテーブルの一覧を表示します。目的のテーブルを右側のキャンバスへドラッグします。さらに、"Update Now" をクリックしてデータをプレビューしたり、読み取られたフィールドの型や名前を調整したりできます。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_04.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4e8a65ae2ac8e97052ac2f3ca9f087cc" alt="左側にデータベーステーブル、右側にドラッグアンドドロップ可能なキャンバスが表示された Tableau Online のデータソースページ" border width="2277" height="1395" data-path="images/integrations/data-visualization/tableau_online_04.webp" />

<br />

あとは右上の "Publish As" をクリックするだけで、新しく作成したデータセットを Tableau Online で通常どおり使用できるようになります。

注: Tableau Online を Tableau Desktop と併用し、両者の間で ClickHouse のデータセットを共有したい場合は、Tableau Desktop 側でも既定の MySQL コネクタを使用してください。その際は、Data Source ドロップダウンから MySQL を選択すると表示されるセットアップガイド ([こちら](https://www.tableau.com/support/drivers)) に従ってください。M1 Mac を使用している場合は、ドライバーのインストール回避策について [このトラブルシューティングスレッド](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) を確認してください。

<div id="connecting-tableau-online-to-clickhouse-cloud-or-on-premise-setup-with-ssl">
  ## Tableau Online を ClickHouse に接続する (SSL を使用するクラウドまたはオンプレミス環境)
</div>

Tableau Online の MySQL 接続設定ウィザードでは SSL 証明書を指定できないため、
接続を設定するには Tableau Desktop を使用し、その後 Tableau Online にエクスポートする必要があります。ただし、この手順自体はそれほど複雑ではありません。

Windows または Mac マシンで Tableau Desktop を起動し、"Connect" -> "To a Server" -> "MySQL" を選択します。
おそらく、最初にマシンへ MySQL ドライバーをインストールする必要があります。
インストール方法については、Data Source のドロップダウンで MySQL を選択すると表示される [こちら](https://www.tableau.com/support/drivers) のセットアップガイドに従ってください。
M1 Mac を使用している場合は、ドライバーのインストール回避策について [このトラブルシューティングスレッド](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) を確認してください。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=7481c985675755865ed9cfbff72b658d" alt="MySQL オプションが強調表示された Connect メニューを示す Tableau Desktop のインターフェイス" border width="735" height="659" data-path="images/integrations/data-visualization/tableau_desktop_01.webp" />

<br />

<Note>
  MySQL 接続設定 UI では、"SSL" オプションが有効になっていることを確認してください。
  ClickHouse Cloud の SSL 証明書は [Let's Encrypt](https://letsencrypt.org/certificates/) によって署名されています。
  このルート証明書は [こちら](https://letsencrypt.org/certs/isrgrootx1.pem) からダウンロードできます。
</Note>

ClickHouse Cloud インスタンスの MySQL ユーザー認証情報と、ダウンロードしたルート証明書のパスを指定します。

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=b184ffe5c897400fb243499c2e073a4b" alt="SSL オプションが有効になっており、server、username、password、certificate の各フィールドが表示された Tableau Desktop の MySQL 接続ダイアログ" border width="496" height="567" data-path="images/integrations/data-visualization/tableau_desktop_02.webp" />

<br />

通常どおり必要なテーブルを選択し (Tableau Online の場合と同様) 、
"Server" -> "Publish Data Source" -> Tableau Cloud を選択します。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4b3003df50b1fdf42a6361551bbc1146" alt="Publish Data Source オプションが強調表示された Server メニューを示す Tableau Desktop" border width="813" height="321" data-path="images/integrations/data-visualization/tableau_desktop_03.webp" />

<br />

重要: "Authentication" オプションで "Embedded password" を選択する必要があります。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_04.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=65784dddca1098e0c020249d971bbbdd" alt="Embedded password が選択された Authentication オプションを示す Tableau Desktop の公開ダイアログ" border width="775" height="643" data-path="images/integrations/data-visualization/tableau_desktop_04.webp" />

<br />

さらに、"Update workbook to use the published data source" を選択します。

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_05.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=6f889cbb8c8ec6e20a6d078a65513b47" alt="'Update workbook to use the published data source' オプションがチェックされた Tableau Desktop の公開ダイアログ" border width="373" height="649" data-path="images/integrations/data-visualization/tableau_desktop_05.webp" />

<br />

最後に "Publish" をクリックすると、認証情報が埋め込まれたデータソースが Tableau Online で自動的に開きます。

<div id="known-limitations-clickhouse-2311">
  ## 既知の制限事項 (ClickHouse 23.11)
</div>

これらの既知の制限事項は、ClickHouse `23.11` ですべて修正されています。ほかに互換性の問題が見つかった場合は、[お問い合わせ](https://clickhouse.com/company/contact)いただくか、[新しい Issue](https://github.com/ClickHouse/ClickHouse/issues) を作成してください。
