Настройка ClickHouse Cloud
1
Выберите Connect your app
После создания сервиса ClickHouse Cloud на экране Connect your app выберите MySQL в раскрывающемся списке.2
Включите интерфейс MySQL
Переведите переключатель в активное положение, чтобы включить интерфейс MySQL для этого сервиса. Это откроет для сервиса порт3306 и покажет экран подключения MySQL с вашим уникальным именем пользователя MySQL.Кроме того, чтобы включить интерфейс MySQL для существующего сервиса:3
Выберите Connect
Убедитесь, что ваш сервис находится в состоянии Running, затем выберите сервис, для которого хотите включить интерфейс MySQL.
В левом меню выберите “Connect”:4
Выберите MySQL
Выберите MySQL в раскрывающемся списке Connect With.5
Включите интерфейс MySQL
Переведите переключатель в активное положение, чтобы включить интерфейс MySQL для этого сервиса. Это откроет для сервиса порт3306 и покажет экран подключения MySQL с вашим уникальным именем пользователя MySQL.Создание пользователя MySQL только для чтения в ClickHouse Cloud
mysql4<subdomain> с тем же паролем, что и у пользователя по умолчанию.
Часть <subdomain> соответствует первой части hostname вашего сервиса ClickHouse Cloud.
Такой формат имени пользователя требуется для совместимости с инструментами, которые устанавливают защищённые соединения, но не передают данные SNI (Server Name Indication) при TLS-рукопожатии.
Без информации SNI система не может выполнить корректную внутреннюю маршрутизацию, поэтому поддомен, встроенный в имя пользователя, служит необходимой подсказкой для маршрутизации.
Пример такого инструмента — консольный клиент MySQL.
Если hostname ClickHouse Cloud выглядит так:
foobar.us-east1.aws.clickhouse.cloud, то часть <subdomain> равна foobar, а пользовательское имя MySQL может выглядеть, например, так: mysql4foobar_team1.1
Создайте профиль настроек только для чтения
Создайте профиль настроек для пользователя только для чтения, установив параметрreadonly в 1:2
Создайте нового пользователя MySQL только для чтения
Создайте пользователя с именем в следующем формате:readonly_profile к новому пользователю и убедитесь, что пароль указан в формате двойного хэша SHA1. Например:3
Выдайте новому пользователю разрешения на доступ к нужным таблицам
Выдайте новому пользователю необходимые разрешения для работы с нужными таблицами или базами данных. Например, если нужно предоставить доступ только кsystem.query_log:Для пользователя только для чтения выдавайте только разрешения
SELECT на те таблицы, к которым нужен доступ.Устранение неполадок при работе с несколькими пользователями MySQL в ClickHouse Cloud
mysql4<subdomain>_<username>, как описано (выше).
Настройка сервера ClickHouse в собственной инфраструктуре
config.xml сервера
mysql_user, в которой используется сгенерированный хеш:
/etc/clickhouse-server/users.d/mysql_user.xml
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
mysql, вы можете проверить подключение из командной строки.
Используя приведённые выше имя пользователя (mysql_user) и пароль (LZOQYnqQN4L/T6L0), команда будет такой:
config.xml раскомментируйте следующее, чтобы он принимал подключения на всех адресах:
Подключение Tableau Online к ClickHouse (в собственной инфраструктуре без SSL)
Выберите “MySQL” из списка доступных коннекторов.
Укажите сведения о подключении, полученные при настройке ClickHouse.
Tableau Online проанализирует структуру базы данных и покажет список доступных таблиц. Перетащите нужную таблицу на холст справа. Кроме того, можно нажать “Update Now”, чтобы просмотреть данные, а также при необходимости скорректировать определённые системой типы или имена полей.
После этого останется только нажать “Publish As” в правом верхнем углу, и вы сможете использовать новый набор данных в Tableau Online как обычно. Примечание: если вы хотите использовать Tableau Online вместе с Tableau Desktop и работать с наборами данных ClickHouse в обоих продуктах, убедитесь, что в Tableau Desktop вы тоже используете стандартный коннектор MySQL, следуя руководству по настройке, которое отображается здесь, если выбрать MySQL в раскрывающемся списке Data Source. Если у вас Mac с M1, ознакомьтесь с этой веткой по устранению неполадок, где описан обходной способ установки драйвера.
Подключение Tableau Online к ClickHouse (настройка в Cloud или в собственной инфраструктуре с SSL)
В интерфейсе настройки MySQL-подключения убедитесь, что опция “SSL” включена.
SSL-сертификат ClickHouse Cloud подписан Let’s Encrypt.
Вы можете скачать этот корневой сертификат здесь.
Выберите нужные таблицы, как обычно (так же, как в Tableau Online), и выберите “Server” -> “Publish Data Source” -> Tableau Cloud.
ВАЖНО: в параметрах “Authentication” нужно выбрать “Embedded password”.
Кроме того, выберите “Update workbook to use the published data source”.
Наконец, нажмите “Publish”, и ваш источник данных со встроенными учетными данными автоматически откроется в Tableau Online.
Известные ограничения (ClickHouse 23.11)
23.11. Если вы столкнётесь с какими-либо другими несовместимостями, пожалуйста, свяжитесь с нами или создайте новый issue.