Перейти к основному содержанию
Пример настроек:
SOURCE(MYSQL(
    port 3306
    user 'clickhouse'
    password 'qwerty'
    replica(host 'example01-1' priority 1)
    replica(host 'example01-2' priority 1)
    db 'db_name'
    table 'table_name'
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    fail_on_connection_loss 'true'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))

Поля настроек:
ПараметрОписание
portПорт сервера MySQL. Его можно указать для всех реплик или для каждой по отдельности (внутри <replica>).
userИмя пользователя MySQL. Его можно указать для всех реплик или для каждой по отдельности (внутри <replica>).
passwordПароль пользователя MySQL. Его можно указать для всех реплик или для каждой по отдельности (внутри <replica>).
replicaРаздел с конфигурациями реплик. Таких разделов может быть несколько.
replica/hostХост MySQL.
replica/priorityПриоритет реплики. При попытке подключения ClickHouse перебирает реплики в порядке приоритета. Чем меньше число, тем выше приоритет.
dbИмя базы данных.
tableИмя таблицы.
whereУсловие выборки. Синтаксис условий такой же, как в WHERE в MySQL, например id > 10 AND id < 20. Необязательно.
invalidate_queryЗапрос для проверки состояния словаря. Необязательно. Подробнее см. в разделе Обновление данных словаря с помощью LIFETIME.
fail_on_connection_lossУправляет поведением сервера при потере соединения. Если значение true, исключение генерируется немедленно, если соединение между клиентом и сервером было потеряно. Если значение false, сервер ClickHouse повторяет попытку выполнить запрос три раза, прежде чем генерировать исключение. Обратите внимание, что повторные попытки увеличивают время отклика. Значение по умолчанию: false.
queryПользовательский запрос. Необязательно.
Поля table и where нельзя использовать вместе с полем query. При этом должно быть объявлено либо поле table, либо поле query.
Явного параметра secure нет. Если устанавливается SSL-соединение, защищённое подключение используется обязательно.
К MySQL на локальном хосте можно подключаться через сокеты. Для этого задайте host и socket. Пример настроек:
SOURCE(MYSQL(
    host 'localhost'
    socket '/path/to/socket/file.sock'
    user 'clickhouse'
    password 'qwerty'
    db 'db_name'
    table 'table_name'
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    fail_on_connection_loss 'true'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))
Последнее изменение 10 июня 2026 г.