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
))<source>
<mysql>
<port>3306</port>
<user>clickhouse</user>
<password>qwerty</password>
<replica>
<host>example01-1</host>
<priority>1</priority>
</replica>
<replica>
<host>example01-2</host>
<priority>1</priority>
</replica>
<db>db_name</db>
<table>table_name</table>
<where>id=10</where>
<invalidate_query>SQL_QUERY</invalidate_query>
<fail_on_connection_loss>true</fail_on_connection_loss>
<query>SELECT id, value_1, value_2 FROM db_name.table_name</query>
<enable_compression>1</enable_compression>
</mysql>
</source>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'
))<source>
<mysql>
<host>localhost</host>
<socket>/path/to/socket/file.sock</socket>
<user>clickhouse</user>
<password>qwerty</password>
<db>db_name</db>
<table>table_name</table>
<where>id=10</where>
<invalidate_query>SQL_QUERY</invalidate_query>
<fail_on_connection_loss>true</fail_on_connection_loss>
<query>SELECT id, value_1, value_2 FROM db_name.table_name</query>
</mysql>
</source>