> ## 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.

> Looker Studio は、旧 Google Data Studio の名称で、データをカスタマイズ可能で有益なレポートやダッシュボードに変換できるオンラインツールです。

# Looker Studio

export const PartnerBadge = () => {
  return <div className="PartnerBadge">
            <div className="PartnerBadgeIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <polyline points="12.5 9.5 10 12 6 11 2.5 8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="4.54 4.41 8 3.5 11.46 4.41" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M2.15,3.78 L0.55,6.95 A0.5,0.5 0,0,0 0.77,7.62 L2.5,8.5 L4.54,4.41 L2.82,3.55 A0.5,0.5 0,0,0 2.15,3.78 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M13.5,8.5 L15.23,7.62 A0.5,0.5 0,0,0 15.45,6.95 L13.85,3.78 A0.5,0.5 0,0,0 13.18,3.55 L11.46,4.41 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M11.5,4.5 L9,4.5 L6.15,7.27 A0.5,0.5 0,0,0 6.24,8.05 C7.33,8.74 8.81,8.72 10,7.5 L12.5,9.5 L13.5,8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="7.75 13.5 5.15 12.85 3.5 11.67" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                </svg>
            </div>
            パートナーインテグレーション
        </div>;
};

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>;
};

<PartnerBadge />

Looker Studio は、Google 公式の MySQL データソースを使用して、MySQL インターフェイス経由で 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-looker-studio-to-clickhouse">
  ## Looker Studio を ClickHouse に接続する
</div>

まず、Google アカウントで [https://lookerstudio.google.com](https://lookerstudio.google.com) にログインし、新しいデータソースを作成します。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_01.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=8c75b27cc6c0f117651edcccc2a2068d" alt="Looker Studio のインターフェイスで新しいデータソースを作成する" border width="1229" height="683" data-path="images/integrations/data-visualization/looker_studio_01.webp" />

<br />

Google が提供する公式の MySQL コネクタ (名前は **MySQL**) を検索します。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_02.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=4991d78eb1285299605e6c16e46e40f1" alt="Looker Studio のコネクタ一覧で MySQL コネクタを検索する" border width="1923" height="709" data-path="images/integrations/data-visualization/looker_studio_02.webp" />

<br />

接続情報を指定します。MySQL インターフェイスのポートはデフォルトで 9004 ですが、
サーバー設定によって異なる場合があるので注意してください。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_03.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=02c7a1f9fda174bc02930e760a6b3724" alt="Looker Studio で ClickHouse の MySQL 接続情報を指定する" border width="999" height="1329" data-path="images/integrations/data-visualization/looker_studio_03.webp" />

<br />

ここからは、ClickHouse からデータを取得する方法が 2 つあります。1 つ目は、Table Browser 機能を使用する方法です。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_04.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=0c2eab5e46c8d870ffbca9695c54c3fe" alt="Looker Studio で Table Browser を使用して ClickHouse テーブルを選択する" border width="1299" height="1333" data-path="images/integrations/data-visualization/looker_studio_04.webp" />

<br />

または、カスタムクエリを指定してデータを取得することもできます。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_05.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=0d286c6b3ebd359043becbfd8e9e4b6a" alt="Looker Studio でカスタム SQL クエリを使用して ClickHouse からデータを取得する" border width="1518" height="1333" data-path="images/integrations/data-visualization/looker_studio_05.webp" />

<br />

最後に、自動認識されたテーブル構造を確認し、必要に応じてデータ型を調整できます。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_06.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=a5f83fa01e727de02d76c828073dae8b" alt="Looker Studio で自動認識された ClickHouse テーブルの構造を表示する" border width="1774" height="1114" data-path="images/integrations/data-visualization/looker_studio_06.webp" />

<br />

これで、データの探索や新しいレポートの作成に進めます。

<div id="using-looker-studio-with-clickhouse-cloud">
  ## ClickHouse Cloud で Looker Studio を使用する
</div>

ClickHouse Cloud を使用する場合は、まず MySQL インターフェイスを有効にする必要があります。これは接続ダイアログの「MySQL」タブで設定できます。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_enable_mysql.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=bdf0d324a44a504830035a581028af32" alt="ClickHouse Cloud の設定で MySQL インターフェイスを有効にする" border width="1748" height="684" data-path="images/integrations/data-visualization/looker_studio_enable_mysql.webp" />

<br />

Looker Studio の UI で、「Enable SSL」オプションを選択します。ClickHouse Cloud の SSL 証明書は [Let's Encrypt](https://letsencrypt.org/certificates/) によって署名されています。このルート証明書は [こちら](https://letsencrypt.org/certs/isrgrootx1.pem) からダウンロードできます。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_mysql_cloud.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=856761a5f256b3a4c0e4eb3ee4aade70" alt="ClickHouse Cloud の SSL 設定を使用した Looker Studio の接続設定" border width="858" height="530" data-path="images/integrations/data-visualization/looker_studio_mysql_cloud.webp" />

<br />

以降の手順は、前のセクションに記載したものと同じです。
