Exemplo de configurações:
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 configuração:
| Configuração | Descrição |
|---|---|
port |
A porta no servidor MySQL. Você pode especificá-la para todas as réplicas ou para cada uma individualmente (dentro de <replica>). |
user |
Nome do usuário do MySQL. Você pode especificá-lo para todas as réplicas ou para cada uma individualmente (dentro de <replica>). |
password |
Senha do usuário do MySQL. Você pode especificá-la para todas as réplicas ou para cada uma individualmente (dentro de <replica>). |
replica |
Seção de configuração da réplica. Pode haver várias seções. |
replica/host |
O host do MySQL. |
replica/priority |
A prioridade da réplica. Ao tentar se conectar, o ClickHouse percorre as réplicas em ordem de prioridade. Quanto menor o número, maior a prioridade. |
db |
Nome do banco de dados. |
table |
Nome da tabela. |
where |
O critério de seleção. A sintaxe das condições é a mesma da cláusula WHERE no MySQL, por exemplo, id > 10 AND id < 20. Opcional. |
invalidate_query |
Consulta para verificar o status do dicionário. Opcional. Leia mais na seção Atualizando os dados do dicionário usando LIFETIME. |
fail_on_connection_loss |
Controla o comportamento do servidor em caso de perda de conexão. Se true, uma exceção é lançada imediatamente se a conexão entre cliente e servidor for perdida. Se false, o servidor tenta buscar os dados novamente pelo menos três vezes antes de relatar um erro. Observe que as tentativas de repetição aumentam o tempo de resposta. Valor padrão: false. |
query |
A consulta personalizada. Opcional. |
enable_compression |
Habilita a compressão zlib para a conexão do protocolo MySQL. Quando definido como 1, o ClickHouse solicita compressão no nível do protocolo ao servidor MySQL. Também pode ser definido por réplica dentro de <replica>. Valor padrão: 0. |
ssl_ca_pem |
Conteúdo do certificado da CA usado para verificar o certificado do servidor MySQL. Opcional. |
ssl_cert_pem |
Conteúdo do certificado do cliente, para autenticação baseada em certificado. Opcional. |
ssl_key_pem |
Conteúdo da chave privada associada a ssl_cert_pem. Opcional. |
ssl_ca, ssl_cert, ssl_key |
As mesmas credenciais, como caminhos para arquivos no servidor. Permitido apenas para um dicionário definido em um arquivo de configuração do servidor ou por meio de uma coleção nomeada definida nele; veja abaixo. Opcional. |
É possível conectar-se ao MySQL em um host local via sockets. Para isso, defina host e socket.
Exemplo de configurações:
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>