Saltar al contenido principal
Ejemplo de configuración:
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'
))

Campos de configuración:
ConfiguraciónDescripción
portEl puerto del servidor MySQL. Puedes especificarlo para todas las réplicas o para cada una por separado (dentro de <replica>).
userNombre del usuario de MySQL. Puedes especificarlo para todas las réplicas o para cada una por separado (dentro de <replica>).
passwordContraseña del usuario de MySQL. Puedes especificarla para todas las réplicas o para cada una por separado (dentro de <replica>).
replicaSección de configuración de las réplicas. Puede haber varias secciones.
replica/hostEl host de MySQL.
replica/priorityLa prioridad de la réplica. Al intentar conectarse, ClickHouse recorre las réplicas en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad.
dbNombre de la base de datos.
tableNombre de la tabla.
whereEl criterio de selección. La sintaxis de las condiciones es la misma que la de la cláusula WHERE de MySQL; por ejemplo, id > 10 AND id < 20. Opcional.
invalidate_queryConsulta para comprobar el estado del diccionario. Opcional. Más información en la sección Actualización de datos del diccionario mediante LIFETIME.
fail_on_connection_lossControla el comportamiento del servidor ante una pérdida de conexión. Si es true, se genera una excepción inmediatamente si se pierde la conexión entre el cliente y el servidor. Si es false, el servidor ClickHouse reintenta ejecutar la consulta tres veces antes de generar una excepción. Ten en cuenta que reintentar aumenta los tiempos de respuesta. Valor predeterminado: false.
queryLa consulta personalizada. Opcional.
Los campos table o where no pueden usarse junto con el campo query. Además, debe declararse uno de los campos table o query.
No existe un parámetro explícito secure. Al establecer una conexión SSL, la seguridad es obligatoria.
Es posible conectarse a MySQL en un host local mediante sockets. Para ello, configura host y socket. Ejemplo de configuración:
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'
))
Última modificación el 10 de junio de 2026