Tableau Online
Tableau Online может подключаться к ClickHouse Cloud или локальной установке ClickHouse через интерфейс MySQL, используя официальный источник данных MySQL.
Настройка ClickHouse Cloud
Выберите Подключить ваше приложение
После создания вашего сервиса ClickHouse Cloud, на экране Подключить ваше приложение
, выберите MySQL из выпадающего меню.

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

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

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

Создание учетной записи MySQL только для чтения в ClickHouse Cloud
ClickHouse Cloud автоматически создает пользователя mysql4<subdomain>
, который имеет тот же пароль, что и пользователь по умолчанию.
Часть <subdomain>
соответствует первой части вашего имени хоста ClickHouse Cloud.
Этот формат имени пользователя необходим для совместимости с инструментами, которые устанавливают безопасные соединения, но не включают данные SNI (Server Name Indication) в своём TLS рукопожатии. Без информации SNI система не может выполнять надлежащую внутреннюю маршрутизацию, поэтому подсказка субдомена, встроенная в имя пользователя, предоставляет необходимую информацию для маршрутизации. Клиентская консоль MySQL является примером инструмента, который требует этого.
Рекомендуется создать нового пользователя MySQL только для чтения.
Для имени хоста ClickHouse Cloud, например, foobar.us-east1.aws.clickhouse.cloud
, часть <subdomain>
равна foobar
, и имя кастомного пользователя MySQL может выглядеть как mysql4foobar_team1
.
Создайте профиль настроек только для чтения
Создайте профиль настроек, который будет применяться к вашему пользователю только для чтения, установив настройку readonly
в 1
:
Создайте нового пользователя MySQL только для чтения
Создайте пользователя с именем в следующем формате:
Примените профиль readonly_profile
к новому пользователю и убедитесь, что пароль имеет двойной формат SHA1. Например:
Предоставьте новому пользователю разрешения на доступ к необходимым таблицам
Предоставьте новому пользователю необходимые разрешения для взаимодействия с желаемыми таблицами или базами данных.
Например, если вы хотите предоставить доступ только к system.query_log
:
Для пользователя только для чтения убедитесь, что вы предоставляете только разрешения SELECT
для таблиц, к которым хотите получить доступ.
Новосозданный пользователь может быть использован для подключения к вашему сервису ClickHouse Cloud с MySQL интерфейсом.
Устранение неполадок с несколькими пользователями MySQL в ClickHouse Cloud
Если вы создали нового пользователя MySQL и видите следующую ошибку при подключении через MySQL CLI клиент:
В этом случае убедитесь, что имя пользователя следует формату mysql4<subdomain>_<username>
, как описано (выше).
Настройка локального сервера ClickHouse
Пожалуйста, обратитесь к официальной документации о том, как настроить сервер ClickHouse с включенным интерфейсом MySQL.
Помимо добавления записи в config.xml
сервера
также обязательно использовать шифрование паролей с помощью Double SHA1 для пользователя, который будет использовать интерфейс MySQL.
Генерация случайного пароля, зашифрованного с помощью Double SHA1 из оболочки:
Вывод должен выглядеть следующим образом:
Первая строка — это сгенерированный пароль, а вторая строка — это хэш, который мы можем использовать для конфигурации ClickHouse.
Вот пример конфигурации для mysql_user
, который использует сгенерированный хэш:
/etc/clickhouse-server/users.d/mysql_user.xml
Замените запись password_double_sha1_hex
на ваш собственный сгенерированный хэш Double SHA1.
Кроме того, рекомендуется использовать use_mysql_types_in_show_columns
для отображения нативных типов MySQL вместо типов ClickHouse в результатах запроса SHOW [FULL] COLUMNS
,
что позволяет инструментам бизнес-аналитики правильно анализировать схему базы данных при использовании соединителей 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 между ними, убедитесь, что вы также используете Tableau Desktop с коннектором MySQL по умолчанию, следуя руководству по настройке, которое отображается здесь, если вы выбираете MySQL из выпадающего списка источников данных. Если у вас Mac с M1, посмотрите эту тему по устранению неполадок для обходного решения установки драйвера.
Подключение Tableau Online к ClickHouse (облачная или локальная установка с SSL)
Так как невозможно предоставить SSL сертификаты через мастер настройки соединения MySQL Tableau Online, единственный способ — использовать Tableau Desktop для настройки соединения, а затем экспортировать его в Tableau Online. Этот процесс, однако, вполне прост.
Запустите Tableau Desktop на Windows или Mac, и выберите "Подключиться" -> "К серверу" -> "MySQL". Вероятно, вам потребуется сначала установить драйвер MySQL на вашем компьютере. Вы можете сделать это, следуя руководству по настройке, которое отображается здесь, если вы выбираете MySQL из выпадающего списка источников данных. Если у вас Mac с M1, посмотрите эту тему по устранению неполадок для обходного решения установки драйвера.

В интерфейсе настройки подключения MySQL убедитесь, что опция "SSL" включена. SSL сертификат ClickHouse Cloud подписан Let's Encrypt. Вы можете загрузить этот корневой сертификат здесь.
Укажите учетные данные пользователя MySQL для вашего экземпляра ClickHouse Cloud и путь к загруженному корневому сертификату.

Выберите нужные таблицы, как обычно (т similarly к Tableau Online), и выберите "Сервер" -> "Опубликовать источник данных" -> Tableau Cloud.

ВАЖНО: вам нужно выбрать "Встроенный пароль" в опциях "Аутентификация".

Дополнительно, выберите "Обновить рабочую книгу для использования опубликованным источником данных".

Наконец, нажмите "Опубликовать", и ваш источник данных с встроенными учетными данными будет автоматически открыт в Tableau Online.
Известные ограничения (ClickHouse 23.11)
Все известные ограничения были исправлены в ClickHouse 23.11
. Если вы столкнетесь с другими несовместимостями, пожалуйста, не стесняйтесь связываться с нами или создать новую задачу.