Перейти к основному содержанию
Позволяет выполнять запросы SELECT и INSERT к данным, хранящимся на удаленном сервере MySQL.

Синтаксис

Аргументы

Аргументы также можно передавать с помощью именованных коллекций. В этом случае host и port нужно указывать отдельно. Такой подход рекомендуется для продакшн-среды. Простые секции WHERE, такие как =, !=, >, >=, <, <=, в настоящее время выполняются на сервере MySQL. Остальные условия и ограничение выборки LIMIT выполняются в ClickHouse только после завершения запроса к MySQL. Поддерживается несколько реплик, которые должны быть перечислены через |. Например:
или

Возвращаемое значение

Объект table с теми же столбцами, что и исходная таблица MySQL.
Некоторые типы данных MySQL могут сопоставляться с разными типами ClickHouse — это регулируется настройкой уровня запроса mysql_datatypes_support_level
В запросе INSERT, чтобы отличить табличную функцию mysql(...) от имени таблицы со списком имён столбцов, необходимо использовать ключевые слова FUNCTION или TABLE FUNCTION. См. примеры ниже.

Примеры

Таблица в MySQL:
Выборка данных из ClickHouse:
Или с помощью именованных коллекций:

enable_compression

Включает сжатие для подключения по протоколу MySQL. Значение по умолчанию: false. Этот параметр применяется к:
  • табличной функции mysql;
  • движку таблицы MySQL;
  • движку базы данных MySQL;
  • именованным коллекциям, используемым в интеграциях MySQL.
Когда параметр включен, ClickHouse запрашивает сжатие для соединения. Пример:
Замена и вставка данных:
Копирование данных из таблицы MySQL в таблицу ClickHouse:
Или, если копируете только инкрементный батч из MySQL на основе текущего максимального значения id:
Последнее изменение 2 июля 2026 г.