Skip to main content
Permite conectar-se a bancos de dados em um servidor MySQL remoto e executar consultas INSERT e SELECT para transferir dados entre o ClickHouse e o MySQL. O mecanismo de banco de dados MySQL traduz consultas para o servidor MySQL, para que você possa executar operações como SHOW TABLES ou SHOW CREATE TABLE. Não é possível executar as seguintes consultas:
  • RENAME
  • CREATE TABLE
  • ALTER

Criar um banco de dados

Parâmetros do mecanismo
  • host:port — Endereço do servidor MySQL.
  • database — Nome do banco de dados remoto.
  • user — Usuário do MySQL.
  • password — Senha do usuário.
Configurações

enable_compression

Habilita a compressão zlib para a conexão via protocolo MySQL. Quando definido como 1, o ClickHouse solicita a compressão no nível do protocolo ao servidor MySQL. Valor padrão: 0. Exemplo:

TLS/SSL

As credenciais de uma conexão criptografada com o MySQL são passadas como chaves de uma coleção nomeada (ou como argumentos de chave-valor): Os valores correspondem ao conteúdo dos arquivos PEM respectivos, que pode ser copiado para uma coleção nomeada ou para uma consulta. Esses valores são mascarados nos logs e em consultas SHOW, assim como as senhas. As mesmas credenciais também podem ser fornecidas como caminhos para arquivos no servidor, em ssl_ca, ssl_cert e ssl_key — mas somente em uma coleção nomeada definida no arquivo de configuração do servidor; esse valor não pode ser substituído em uma consulta. O servidor abre esses arquivos usando seus próprios privilégios; portanto, aceitar um caminho via SQL permitiria que qualquer usuário capaz de definir uma fonte MySQL sondasse o sistema de arquivos local e se autenticasse com um certificado e uma chave que não tem permissão para ler.

Suporte a tipos de dados

A conversão dos tipos espaciais (exceto POINT, que é sempre convertido) é controlada pela flag geometry da configuração mysql_datatypes_support_level, habilitada por padrão. O tipo de coluna genérico GEOMETRY é mapeado para o tipo abrangente Geometry (um Variant dos tipos geométricos concretos). Como essa coluna pode conter um valor de qualquer subtipo, a leitura de um valor cujo subtipo não tem equivalente no ClickHouse (GEOMETRYCOLLECTION) lança uma exceção no momento da leitura; essa incompatibilidade é aceita em troca de um tipo geométrico adequado. Colunas declaradas com o tipo GEOMETRYCOLLECTION são convertidas em String, como todos os outros tipos de dados do MySQL. Há suporte para Nullable. Uma coluna espacial é mapeada para String (Nullable(String) se ela aceitar nulos), em vez de um tipo geométrico, em três casos: ela é declarada como GEOMETRYCOLLECTION; a flag geometry está desabilitada e o tipo não é POINT; ou a coluna aceita nulos e o tipo não é POINT, pois Point é o único tipo geométrico que pode ser aninhado em Nullable. Nos três casos, a string contém o valor exatamente como o MySQL o retorna: um prefixo SRID de 4 bytes seguido pelo payload WKB; portanto, remova esses 4 bytes iniciais antes de passá-lo a um decodificador WKB.

Suporte a variáveis globais

Para maior compatibilidade, é possível referenciar variáveis globais no estilo do MySQL, como @@identifier. Há suporte para estas variáveis:
  • version
  • max_allowed_packet
No momento, essas variáveis são apenas placeholders e não correspondem a nada.
Exemplo:

Exemplos de uso

Tabela no MySQL:
Banco de dados no ClickHouse, com troca de dados com o servidor MySQL:
Última modificação em 14 de agosto de 2026