Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Fuente de diccionario de MySQL

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'
    enable_compression 1
))

Campos de configuración:

Configuración Descripción
port El puerto del servidor MySQL. Puedes especificarlo para todas las réplicas o para cada una por separado (dentro de <replica>).
user Nombre del usuario de MySQL. Puedes especificarlo para todas las réplicas o para cada una por separado (dentro de <replica>).
password Contraseña del usuario de MySQL. Puedes especificarla para todas las réplicas o para cada una por separado (dentro de <replica>).
replica Sección de configuración de las réplicas. Puede haber varias secciones.
replica/host El host de MySQL.
replica/priority La 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.
db Nombre de la base de datos.
table Nombre de la tabla.
where El 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_query Consulta 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_loss Controla 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 reintenta obtener datos al menos tres veces antes de informar de un error. Ten en cuenta que reintentar aumenta los tiempos de respuesta. Valor predeterminado: false.
query La consulta personalizada. Opcional.
enable_compression Habilita la compresión zlib para la conexión del protocolo MySQL. Cuando se establece en 1, ClickHouse solicita compresión a nivel de protocolo al servidor MySQL. También puede establecerse por réplica dentro de <replica>. Valor predeterminado: 0.
ssl_ca_pem Contenido del certificado de CA con el que se verifica el certificado del servidor MySQL. Opcional.
ssl_cert_pem Contenido del certificado de cliente para la autenticación basada en certificados. Opcional.
ssl_key_pem Contenido de la clave privada correspondiente a ssl_cert_pem. Opcional.
ssl_ca, ssl_cert, ssl_key Las mismas credenciales como rutas a archivos en el servidor. Solo se permiten para un diccionario definido en un archivo de configuración del servidor o mediante una colección con nombre definida allí; consulta más abajo. Opcional.

Es posible conectarse a MySQL en un host local mediante sockets. Para ello, configure 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'
))
Navigation