> ## 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 может подключаться к ClickHouse Cloud или к ClickHouse в собственной инфраструктуре через интерфейс MySQL, используя официальный источник данных MySQL.

<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="Экран учетных данных ClickHouse Cloud с раскрывающимся списком выбора интерфейса MySQL" 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="Экран подключения сервиса ClickHouse Cloud с выделенной опцией Connect" width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
    </Frame>
  </Step>

  <Step title={<>Выберите <code>MySQL</code></>} id="choose-mysql">
    Выберите `MySQL` в раскрывающемся списке `Connect With`.

    <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="Экран подключения ClickHouse Cloud с выбранной опцией MySQL" 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="Экран подключения ClickHouse Cloud с включенным интерфейсом MySQL и сведениями о подключении" width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />
  </Frame>
</div>

<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 title="Создайте профиль настроек только для чтения" id="create-a-custom-settings-user">
    Создайте [профиль настроек](/docs/ru/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/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 title="Выдайте новому пользователю разрешения на доступ к нужным таблицам" id="grant-the-new-user-the-necessary-permissions">
    [Выдайте](/docs/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>

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

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

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

также *обязательно* использовать
[шифрование пароля двойным хэшом SHA1](/docs/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-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="Интерфейс Tableau Online с кнопкой 'New' для создания опубликованного источника данных" 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="Экран выбора коннектора в Tableau Online с выделенным вариантом MySQL" 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="Экран настройки подключения MySQL в Tableau Online с полями сервера, порта, базы данных и учетных данных" 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 с таблицами базы данных слева и холстом справа с поддержкой drag-and-drop" 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, следуя руководству по настройке, которое отображается [здесь](https://www.tableau.com/support/drivers), если выбрать MySQL в раскрывающемся списке Data Source. Если у вас Mac с M1, ознакомьтесь с [этой веткой по устранению неполадок](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 (настройка в Cloud или в собственной инфраструктуре с SSL)
</div>

Поскольку передать SSL-сертификаты через мастер настройки MySQL-подключения в Tableau Online невозможно,
единственный вариант — настроить подключение в Tableau Desktop, а затем экспортировать его в Tableau Online. При этом сам процесс довольно простой.

Запустите Tableau Desktop на компьютере с Windows или Mac и выберите "Connect" -> "To a Server" -> "MySQL".
Скорее всего, сначала потребуется установить драйвер MySQL.
Это можно сделать, следуя руководству по настройке, доступному [здесь](https://www.tableau.com/support/drivers), если выбрать MySQL в раскрывающемся списке Data Source.
Если у вас Mac с M1, воспользуйтесь [этой веткой с устранением неполадок](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="Интерфейс Tableau Desktop с меню Connect, где выделен вариант MySQL" border width="735" height="659" data-path="images/integrations/data-visualization/tableau_desktop_01.webp" />

<br />

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

Укажите учетные данные MySQL-пользователя вашего экземпляра ClickHouse Cloud и путь к скачанному корневому сертификату.

<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="Диалог подключения MySQL в Tableau Desktop с включенной опцией SSL и полями для сервера, имени пользователя, пароля и сертификата" 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="Tableau Desktop с меню Server, где выделен параметр Publish Data Source" 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="Диалог публикации Tableau Desktop, где в параметрах Authentication выбран вариант Embedded password" 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="Диалог публикации Tableau Desktop с отмеченной опцией 'Update workbook to use the published data source'" 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).
