Skip to main content
Позволяет подключаться к базам данных на удалённом сервере MySQL и выполнять запросы INSERT и SELECT для обмена данными между ClickHouse и MySQL. Движок базы данных MySQL передаёт запросы на сервер MySQL, поэтому вы можете выполнять такие операции, как SHOW TABLES или SHOW CREATE TABLE. Следующие запросы не поддерживаются:
  • RENAME
  • CREATE TABLE
  • ALTER

Создание базы данных

Параметры движка
  • host:port — адрес сервера MySQL.
  • database — имя удалённой базы данных.
  • user — имя пользователя MySQL.
  • password — пароль пользователя.
Настройки

enable_compression

Включает сжатие zlib для подключения по протоколу MySQL. Если установлено значение 1, ClickHouse запрашивает у сервера MySQL сжатие на уровне протокола. Значение по умолчанию: 0. Пример:

TLS/SSL

Учётные данные для зашифрованного подключения к MySQL передаются как ключи именованной коллекции (или как аргументы «ключ-значение»): Значения представляют собой содержимое соответствующих PEM-файлов, которое можно скопировать в именованную коллекцию или включить в запрос. Они маскируются в журналах и в запросах SHOW так же, как пароли. Те же учётные данные можно также указать в виде путей к файлам на сервере в параметрах ssl_ca, ssl_cert и ssl_key — но только в именованной коллекции, определённой в файле конфигурации сервера; такое значение нельзя переопределить в запросе. Сервер открывает эти файлы со своими привилегиями, поэтому разрешение передавать путь из SQL позволило бы любому пользователю, способному определить источник MySQL, исследовать локальную файловую систему и проходить аутентификацию с помощью сертификата и ключа, к которым у него нет доступа на чтение.

Поддерживаемые типы данных

Преобразованием пространственных типов (за исключением POINT, который преобразуется всегда) управляет флаг geometry настройки mysql_datatypes_support_level, включённой по умолчанию. Общий тип столбца GEOMETRY сопоставляется с универсальным типом Geometry (Variant над конкретными геометрическими типами). Поскольку такой столбец может содержать значение любого подтипа, при чтении значения, подтип которого не имеет аналога в ClickHouse (GEOMETRYCOLLECTION), генерируется исключение; такая несовместимость допустима в обмен на полноценный геометрический тип. Столбцы, объявленные с типом GEOMETRYCOLLECTION, как и все остальные типы данных MySQL, преобразуются в String. Тип Nullable поддерживается. Пространственный столбец сопоставляется с String (Nullable(String), если он допускает NULL) вместо геометрического типа в трёх случаях: он объявлен как GEOMETRYCOLLECTION; флаг geometry отключён и тип не POINT; или столбец допускает NULL и тип не POINT, поскольку Point — единственный геометрический тип, который можно вложить в Nullable. Во всех трёх случаях строка содержит значение в точности в том виде, в котором его возвращает MySQL: 4-байтовый префикс SRID, за которым следует полезная нагрузка WKB, поэтому перед передачей в декодер WKB удалите эти 4 начальных байта.

Поддержка глобальных переменных

Для лучшей совместимости к глобальным переменным можно обращаться в стиле MySQL — как @@identifier. Поддерживаются следующие переменные:
  • version
  • max_allowed_packet
На данный момент эти переменные являются заглушками и ни с чем не связаны.
Пример:

Примеры использования

Таблица в MySQL:
База данных в ClickHouse, которая обменивается данными с сервером MySQL:
Последнее изменение 14 августа 2026 г.