Pular para o conteúdo principal
Esta página aborda o uso do motor de tabela MySQL para ler dados de uma tabela MySQL.
No ClickHouse Cloud, você também pode usar o ClickPipe do MySQL (atualmente em beta pública) para mover dados das suas tabelas MySQL para o ClickHouse com facilidade.

Conectando o ClickHouse ao MySQL usando o motor de tabela MySQL

O motor de tabela MySQL permite conectar o ClickHouse ao MySQL. As instruções SELECT e INSERT podem ser executadas no ClickHouse ou na tabela MySQL. Este artigo apresenta os métodos básicos de uso do motor de tabela MySQL.

1. Configure o MySQL

  1. Crie um banco de dados no MySQL:
  CREATE DATABASE db1;
  1. Crie uma tabela:
  CREATE TABLE db1.table1 (
    id INT,
    column1 VARCHAR(255)
  );
  1. Insira linhas de exemplo:
  INSERT INTO db1.table1
    (id, column1)
  VALUES
    (1, 'abc'),
    (2, 'def'),
    (3, 'ghi');
  1. Crie um usuário para conexão a partir do ClickHouse:
  CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';
  1. Conceda os privilégios necessários. (Para fins de demonstração, são concedidos privilégios de administrador ao usuário mysql_clickhouse.)
  GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';
Se você estiver usando esse recurso no ClickHouse Cloud, talvez seja necessário permitir que os endereços IP do ClickHouse Cloud acessem sua instância do MySQL. Consulte a API de Endpoints do Cloud do ClickHouse para obter detalhes sobre o tráfego de saída.

2. Defina uma tabela no ClickHouse

  1. Agora, vamos criar uma tabela no ClickHouse que usa o motor de tabela MySQL:
  CREATE TABLE mysql_table1 (
    id UInt64,
    column1 String
  )
  ENGINE = MySQL('mysql-host.domain.com','db1','table1','mysql_clickhouse','Password123!')
Os parâmetros mínimos são:
parâmetroDescriçãoexemplo
hosthostname ou endereço IPmysql-host.domain.com
databasenome do banco de dados do MySQLdb1
tablenome da tabela do MySQLtable1
usernome de usuário para conectar ao MySQLmysql_clickhouse
passwordsenha para conectar ao MySQLPassword123!
Consulte a página de documentação do motor de tabela MySQL para ver a lista completa de parâmetros.

3. Teste a integração

  1. No MySQL, insira uma linha de teste:
  INSERT INTO db1.table1
    (id, column1)
  VALUES
    (4, 'jkl');
  1. Observe que as linhas existentes da tabela do MySQL estão na tabela do ClickHouse, junto com a nova linha que você acabou de adicionar:
  SELECT
      id,
      column1
  FROM mysql_table1
Você verá 4 linhas:
  Query id: 6d590083-841e-4e95-8715-ef37d3e95197

  ┌─id─┬─column1─┐
  │  1 │ abc     │
  │  2 │ def     │
  │  3 │ ghi     │
  │  4 │ jkl     │
  └────┴─────────┘

  4 rows in set. Elapsed: 0.044 sec.
  1. Vamos adicionar uma linha à tabela do ClickHouse:
  INSERT INTO mysql_table1
    (id, column1)
  VALUES
    (5,'mno')
  1. Observe que a nova linha aparece no MySQL:
  mysql> select id,column1 from db1.table1;
Você verá a nova linha:
  +------+---------+
  | id   | column1 |
  +------+---------+
  |    1 | abc     |
  |    2 | def     |
  |    3 | ghi     |
  |    4 | jkl     |
  |    5 | mno     |
  +------+---------+
  5 rows in set (0.01 sec)

Resumo

O motor de tabela MySQL permite conectar o ClickHouse ao MySQL para trocar dados entre os dois sistemas. Para mais detalhes, consulte a página de documentação sobre o motor de tabela MySQL.
Última modificação em 10 de junho de 2026