Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Integrando o MySQL com o ClickHouse

Esta página aborda o uso do motor de tabela MySQL para ler dados de uma tabela MySQL.

Conectando o ClickHouse ao MySQL usando o motor de tabela MySQL

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

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 se conectar a partir do ClickHouse:
CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';
  1. Conceda os privilégios necessários. (Para fins de demonstração, o usuário mysql_clickhouse recebe privilégios de administrador.)
GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';

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âmetro Descrição exemplo
host hostname ou IP mysql-host.domain.com
database nome do banco de dados MySQL db1
table nome da tabela MySQL table1
user nome de usuário para conexão com o MySQL mysql_clickhouse
password senha para conexão com o MySQL Password123!

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.

Navigation