> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/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>;
};

Looker Studio может подключаться к ClickHouse через интерфейс MySQL, используя официальный источник данных Google MySQL.

<div id="clickhouse-cloud-setup">
  ## Настройка ClickHouse Cloud
</div>

<Steps>
  <Step>
    #### Выберите `Connect your app`

    После создания сервиса ClickHouse Cloud на экране `Connect your app` выберите MySQL в раскрывающемся списке.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql1.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=2f44cca529d76149c5dd4573069af855" alt="Экран учетных данных ClickHouse Cloud с раскрывающимся списком выбора интерфейса MySQL" border width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
  </Step>

  <Step>
    #### Включите интерфейс MySQL

    Переведите переключатель в активное положение, чтобы включить интерфейс MySQL для этого сервиса.
    Это откроет для сервиса порт `3306` и покажет экран подключения MySQL с вашим уникальным именем пользователя MySQL.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql2.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=e1caa8364c2bcf544492c0e8377e6dc7" alt="Переключатель включения интерфейса MySQL в ClickHouse Cloud и сведения о подключении" border width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />

    Кроме того, чтобы включить интерфейс MySQL для существующего сервиса:
  </Step>

  <Step>
    #### Выберите `Connect`

    Убедитесь, что ваш сервис находится в состоянии `Running`, затем выберите сервис, для которого хотите включить интерфейс MySQL.
    В левом меню выберите "Connect":

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql3.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=b92958c170c39fbd884313f1f7a6c3d0" alt="Экран подключения сервиса ClickHouse Cloud с выделенной опцией Connect" border width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
  </Step>

  <Step>
    #### Выберите `MySQL`

    Выберите `MySQL` в раскрывающемся списке `Connect With`.

    <Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql4.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=152f4db09e451c302dc76d563ac414c7" alt="Экран подключения ClickHouse Cloud с выбранной опцией MySQL" border width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
  </Step>

  <Step>
    #### Включите интерфейс MySQL

    Переведите переключатель в активное положение, чтобы включить интерфейс MySQL для этого сервиса.
    Это откроет для сервиса порт `3306` и покажет экран подключения MySQL с вашим уникальным именем пользователя MySQL.
  </Step>
</Steps>

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql5.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=4d98d6d46dd965ef5aab8b5d388c11c6" alt="Экран подключения ClickHouse Cloud с включенным интерфейсом MySQL, показывающий сведения о подключении" border width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## Создание пользователя MySQL только для чтения в ClickHouse Cloud
</div>

ClickHouse Cloud автоматически создаёт пользователя `mysql4<subdomain>` с тем же паролем, что и у пользователя по умолчанию.
Часть `<subdomain>` соответствует первой части hostname вашего сервиса ClickHouse Cloud.

Такой формат имени пользователя требуется для совместимости с инструментами, которые устанавливают защищённые соединения, но не передают данные [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) при TLS-рукопожатии.
Без информации SNI система не может выполнить корректную внутреннюю маршрутизацию, поэтому поддомен, встроенный в имя пользователя, служит необходимой подсказкой для маршрутизации.
Пример такого инструмента — консольный клиент MySQL.

<Tip>
  Рекомендуется создать нового пользователя MySQL только для чтения.
</Tip>

<Note>
  Если hostname ClickHouse Cloud выглядит так: `foobar.us-east1.aws.clickhouse.cloud`, то часть `<subdomain>` равна `foobar`, а пользовательское имя MySQL может выглядеть, например, так: `mysql4foobar_team1`.
</Note>

<Steps>
  <Step>
    #### Создайте профиль настроек только для чтения

    Создайте [профиль настроек](/ru/reference/statements/create/settings-profile) для пользователя только для чтения,
    установив параметр `readonly` в `1`:

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

  <Step>
    #### Создайте нового пользователя MySQL только для чтения

    [Создайте пользователя](/ru/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>
    #### Выдайте новому пользователю разрешения на доступ к нужным таблицам

    [Выдайте](/ru/reference/statements/grant) новому пользователю необходимые разрешения для работы с нужными таблицами или базами данных.
    Например, если нужно предоставить доступ только к `system.query_log`:

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

    <Note>
      Для пользователя только для чтения выдавайте только разрешения `SELECT` на те таблицы, к которым нужен доступ.
    </Note>

    Созданного пользователя можно использовать для подключения к вашему сервису ClickHouse Cloud через интерфейс MySQL.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### Устранение неполадок при работе с несколькими пользователями MySQL в ClickHouse Cloud
</div>

Если вы создали нового пользователя MySQL и при подключении через клиент MySQL CLI видите следующую ошибку:

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

В этом случае убедитесь, что имя пользователя имеет формат `mysql4<subdomain>_<username>`, как описано ([выше](#creating-multiple-mysql-users-in-clickhouse-cloud)).

<div id="on-premise-clickhouse-server-setup">
  ## Настройка сервера ClickHouse в собственной инфраструктуре
</div>

См. [официальную документацию](/ru/concepts/features/interfaces/mysql),
где описано, как настроить сервер ClickHouse с включенным интерфейсом MySQL.

Помимо добавления записи в `config.xml` сервера

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

также *обязательно* использовать
[шифрование пароля двойным хэшом SHA1](/ru/concepts/features/configuration/settings/settings-users#user-namepassword)
для пользователя, который будет работать через интерфейс MySQL.

Генерация случайного пароля, зашифрованного двойным хэшом 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
```

Первая строка — это сгенерированный пароль, а вторая — хеш, который можно использовать для настройки 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.

Кроме того, рекомендуется использовать `use_mysql_types_in_show_columns`,
чтобы в результатах запроса `SHOW [FULL] COLUMNS` отображались нативные типы MySQL вместо типов ClickHouse,
что позволяет BI-инструментам корректно определять схему базы данных при использовании коннекторов MySQL.

Например:

`/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 так, чтобы он принимал подключения на нужных IP-адресах. Например, в `config.xml` раскомментируйте следующее, чтобы он принимал подключения на всех адресах:

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

<div id="connecting-looker-studio-to-clickhouse">
  ## Подключение Looker Studio к ClickHouse
</div>

Сначала войдите на [https://lookerstudio.google.com](https://lookerstudio.google.com) с помощью своей учетной записи Google и создайте новый источник данных:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_01.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=80cf0cff652253736b63b582a783aabe" alt="Создание нового источника данных в интерфейсе Looker Studio" border width="1229" height="683" data-path="images/integrations/data-visualization/looker_studio_01.webp" />

<br />

Найдите официальный коннектор MySQL от Google (он называется просто **MySQL**):

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_02.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=324adb10bde43672840388448cec7b69" alt="Поиск коннектора MySQL в списке коннекторов Looker Studio" 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-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_03.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=268c6061a4d8dcb6466c7fbc81dedcdb" alt="Указание сведений о MySQL-подключении к ClickHouse в Looker Studio" border width="999" height="1329" data-path="images/integrations/data-visualization/looker_studio_03.webp" />

<br />

Теперь у вас есть два варианта получения данных из ClickHouse. Во-первых, можно использовать функцию Table Browser:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_04.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=aca4b0c3b60316d69950b1d5903f8026" alt="Использование Table Browser для выбора таблиц ClickHouse в Looker Studio" 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-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_05.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=8c40487e66ed227e3f45c1a6b6762f19" alt="Использование пользовательского SQL-запроса для получения данных из ClickHouse в Looker Studio" 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-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_06.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=ac061367d140bdfebb34dcb5415fe335" alt="Просмотр автоматически определённой структуры таблицы ClickHouse в Looker Studio" border width="1774" height="1114" data-path="images/integrations/data-visualization/looker_studio_06.webp" />

<br />

Теперь вы можете перейти к изучению данных или созданию нового отчета!

<div id="using-looker-studio-with-clickhouse-cloud">
  ## Использование Looker Studio с ClickHouse Cloud
</div>

При использовании ClickHouse Cloud сначала необходимо включить интерфейс MySQL. Это можно сделать в диалоговом окне подключения на вкладке "MySQL".

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_enable_mysql.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=21c020ea0d4a23948c4f6086692db6d2" alt="Включение интерфейса MySQL в настройках ClickHouse Cloud" border width="1748" height="684" data-path="images/integrations/data-visualization/looker_studio_enable_mysql.webp" />

<br />

В интерфейсе Looker Studio выберите опцию "Enable SSL". SSL-сертификат ClickHouse Cloud подписан [Let's Encrypt](https://letsencrypt.org/certificates/). Вы можете скачать этот корневой сертификат [здесь](https://letsencrypt.org/certs/isrgrootx1.pem).

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_mysql_cloud.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=643e764cc7417b8319d59b8941f71c57" alt="Настройка подключения Looker Studio с параметрами SSL для ClickHouse Cloud" border width="858" height="530" data-path="images/integrations/data-visualization/looker_studio_mysql_cloud.webp" />

<br />

Остальные шаги такие же, как в предыдущем разделе выше.
