> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Faça a ingestão de dados do seu banco de dados MySQL ou MariaDB para o ClickHouse Cloud sem complicações.

# Ingestão de dados do MySQL para o ClickHouse (usando CDC)

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Funcionalidade Beta. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        Saiba mais.
                    </a>
                </u>
            </span>
        </div>;
};

<BetaBadge />

<Info>
  A ingestão de dados do MySQL para o ClickHouse Cloud via ClickPipes está em beta pública.
</Info>

O ClickPipe do MySQL oferece uma maneira totalmente gerenciada e resiliente de fazer a ingestão de dados de bancos de dados MySQL e MariaDB para o ClickHouse Cloud. Ele oferece suporte tanto a **cargas em massa** para ingestão única quanto a **Change Data Capture (CDC)** para ingestão contínua.

Os ClickPipes do MySQL podem ser implantados e gerenciados manualmente usando a UI do ClickPipes, bem como de forma programática usando [OpenAPI](/docs/pt-BR/integrations/clickpipes/programmatic-access/openapi) e [Terraform](/docs/pt-BR/integrations/clickpipes/programmatic-access/terraform).

<div id="prerequisites">
  ## Pré-requisitos
</div>

[//]: # "TODO A configuração de replicação de binlog não é necessária para pipes de ingestão única. Isso já gerou confusão no passado, então também deveríamos fornecer os requisitos mínimos para carga em massa, a fim de não afastar os usuários."

Para começar, primeiro você precisa garantir que seu banco de dados MySQL esteja configurado corretamente para replicação de binlog. As etapas de configuração dependem de como o MySQL está implantado, portanto siga o guia apropriado abaixo:

<div id="supported-data-sources">
  ### Fontes de dados compatíveis
</div>

| Nome                                                     | Logo | Detalhes                                                                                                                                   |
| -------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Amazon RDS MySQL** <br /> *Carga única, CDC*           |      | Siga o guia de configuração do [Amazon RDS MySQL](/docs/pt-BR/integrations/clickpipes/mysql/source/rds).                                        |
| **Amazon Aurora MySQL** <br /> *Carga única, CDC*        |      | Siga o guia de configuração do [Amazon Aurora MySQL](/docs/pt-BR/integrations/clickpipes/mysql/source/aurora).                                  |
| **Cloud SQL for MySQL** <br /> *Carga única, CDC*        |      | Siga o guia de configuração do [Cloud SQL for MySQL](/docs/pt-BR/integrations/clickpipes/mysql/source/gcp).                                     |
| **Azure Flexible Server for MySQL** <br /> *Carga única* |      | Siga o guia de configuração do [Azure Flexible Server for MySQL](/docs/pt-BR/integrations/clickpipes/mysql/source/azure-flexible-server-mysql). |
| **MySQL autogerenciado** <br /> *Carga única, CDC*       |      | Siga o guia de configuração do [Generic MySQL](/docs/pt-BR/integrations/clickpipes/mysql/source/generic).                                       |
| **Amazon RDS MariaDB** <br /> *Carga única, CDC*         |      | Siga o guia de configuração do [Amazon RDS MariaDB](/docs/pt-BR/integrations/clickpipes/mysql/source/rds-maria).                                |
| **MariaDB autogerenciado** <br /> *Carga única, CDC*     |      | Siga o guia de configuração do [Generic MariaDB](/docs/pt-BR/integrations/clickpipes/mysql/source/generic-maria).                               |

Depois que o banco de dados MySQL de origem estiver configurado, você poderá continuar criando seu ClickPipe.

<div id="create-your-clickpipe">
  ## Crie seu ClickPipe
</div>

Certifique-se de estar conectado à sua conta do ClickHouse Cloud. Se você ainda não tem uma conta, pode se cadastrar [aqui](https://cloud.clickhouse.com/).

[//]: # "   TODO atualizar imagem aqui"

1. No console do ClickHouse Cloud, acesse seu serviço do ClickHouse Cloud.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/cp_service.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=ba65ca18b8e032a9d412b779741717f5" alt="Serviço do ClickPipes" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.webp" />

2. Selecione o botão `Data Sources` no menu lateral esquerdo e clique em "Set up a ClickPipe"

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/cp_step0.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=fb04bb07245be43cb784fa68cee62287" alt="Selecionar importações" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.webp" />

3. Selecione o bloco `MySQL CDC`

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/mysql-tile.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=6e7a0ad3fb4b0303186a3c66237d9987" alt="Selecionar MySQL" size="lg" border width="2612" height="892" data-path="images/integrations/data-ingestion/clickpipes/mysql/mysql-tile.webp" />

<div id="add-your-source-mysql-database-connection">
  ### Adicione a conexão com o banco de dados MySQL de origem
</div>

4. Preencha os detalhes da conexão com o banco de dados MySQL de origem que você configurou na etapa de pré-requisitos.

<Info>
  Antes de começar a adicionar os detalhes da conexão, certifique-se de ter adicionado os endereços IP do ClickPipes à lista de permissões das regras do seu firewall. Na página a seguir, você pode encontrar uma [lista de endereços IP do ClickPipes](/docs/pt-BR/integrations/clickpipes/home#list-of-static-ips).
  Para mais informações, consulte os guias de configuração do MySQL de origem com link [no topo desta página](#prerequisites).
</Info>

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/mysql-connection-details.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=9eefe348ba0d4d2ce55623a8419a6931" alt="Preencha os detalhes da conexão" size="lg" border width="1842" height="1556" data-path="images/integrations/data-ingestion/clickpipes/mysql/mysql-connection-details.webp" />

<div id="optional-changing-tls-settings">
  #### (Opcional) Alterar as configurações de TLS
</div>

Por padrão, seu ClickPipe será criado com TLS habilitado e verificação de certificados. Essas configurações padrão podem ser alteradas durante a criação do ClickPipe:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=354571f9124f3d67be0009e0c0986509" alt="Configurações de TLS" width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp" />
</Frame>

Ou editadas na seção *Connection settings* da aba *Settings* do seu ClickPipe pausado:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=28a2df0694e28170b34f8ba7f8e81b82" alt="Configurações de conexão -> Editar conexão" data-og-width="1035" width="1035" data-og-height="312" height="312" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=280&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=dba8d05cac1ee3d8cac0765e6508fc65 280w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=560&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=da9b3248a380def99a3eac70fa2766fc 560w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=840&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=4d478a7aeda56d495f47322d0c448a39 840w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1100&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=dcc4a87641fea36cecbbcbd1d7ed6e98 1100w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1650&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=fadfc249d44a5778963a53657c22a684 1650w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=2500&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=ab8e5667017527822f07fa96cddcc22d 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=93ebf1b8ea0d0c24027a87abaae8c15b" alt="Editar conexão" width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp" />
</Frame>

Onde:

* `Disable TLS` ativa ou desativa o TLS para a conexão. Desativar o TLS significa que os dados são enviados em texto simples pela rede, potencialmente incluindo credenciais e dados sensíveis.
* `Skip certificate verification` ativa ou desativa a verificação do certificado apresentado pelo banco de dados de origem. Leve em consideração as implicações de segurança de ignorar a verificação de certificados.
* `TLS Host` (opcional, usa o *Host* de origem por padrão) é o hostname ao qual o CN do certificado deve corresponder quando a verificação de certificados está habilitada.
* `Upload CA` pode ser usado para fornecer uma CA a ser utilizada quando a verificação de certificados estiver habilitada.

<div id="optional-set-up-ssh-tunneling">
  #### (Opcional) Configure o túnel SSH
</div>

Você pode especificar os detalhes do túnel SSH se o seu banco de dados MySQL de origem não estiver acessível publicamente.

1. Ative a opção "Usar túnel SSH".

2. Preencha os dados da conexão SSH.

   <Image img="https://mintcdn.com/private-7c7dfe99/MoeBDs4tywkUTQ28/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=MoeBDs4tywkUTQ28&q=85&s=2cfd8e7bd51f0bb5b5c14efa95418b82" alt="Túnel SSH" size="lg" border width="1780" height="1342" data-path="images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg" />

3. Para usar autenticação por chave, clique em "Revogar e gerar par de chaves" para gerar um novo par de chaves e copie a chave pública gerada para o seu servidor SSH em `~/.ssh/authorized_keys`.

4. Clique em "Verificar conexão" para verificar a conexão.

<Note>
  Certifique-se de adicionar os [endereços IP do ClickPipes](/docs/pt-BR/integrations/clickpipes/home#list-of-static-ips) à lista de permissões nas regras do firewall do host bastion SSH, para que o ClickPipes possa estabelecer o túnel SSH.
</Note>

Depois de preencher os dados da conexão, clique em `Próximo`.

<div id="advanced-settings">
  #### Configurar configurações avançadas
</div>

Você pode configurar as opções avançadas, se necessário. Uma breve descrição de cada configuração é apresentada abaixo:

* **Intervalo de sincronização**: Este é o intervalo em que o ClickPipes consultará o banco de dados de origem em busca de alterações. Isso afeta o serviço ClickHouse de destino; para usuários que precisam controlar custos, recomendamos manter esse valor mais alto (acima de `3600`).
* **Threads paralelas para a carga inicial**: Este é o número de workers paralelos que serão usados para buscar o snapshot inicial. Isso é útil quando você tem um grande número de tabelas e quer controlar a quantidade de workers paralelos usados para buscar o snapshot inicial. Essa configuração é por tabela.
* **Tamanho do lote de extração**: O número de linhas a serem buscadas em um único lote. Esta é uma configuração de melhor esforço e pode não ser seguida em todos os casos.
* **Número de linhas por partição no snapshot**: Este é o número de linhas que serão buscadas em cada partição durante o snapshot inicial. Isso é útil quando você tem um grande número de linhas em suas tabelas e quer controlar o número de linhas buscadas em cada partição.
* **Número de tabelas em paralelo no snapshot**: Este é o número de tabelas que serão buscadas em paralelo durante o snapshot inicial. Isso é útil quando você tem um grande número de tabelas e quer controlar o número de tabelas buscadas em paralelo.
* **ID do servidor**: Parâmetro opcional para definir o ID do servidor para a replicação do binlog do MySQL. Se não for definido, o ClickPipes gerará um ID de servidor aleatório que pode mudar ao longo do ciclo de vida do ClickPipe. Use-o para identificar seu ClickPipe de forma determinística no lado do servidor MySQL de origem.

<div id="configure-the-tables">
  ### Configurar as tabelas
</div>

5. Aqui, você pode selecionar o banco de dados de destino do seu ClickPipe. Você pode escolher um banco de dados existente ou criar um novo.

   <Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/select-destination-db.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=4d6fe95b205c42ec6d5eab65ae0c7e73" alt="Selecionar banco de dados de destino" size="lg" border width="2368" height="614" data-path="images/integrations/data-ingestion/clickpipes/mysql/select-destination-db.webp" />

6. Você pode selecionar as tabelas do banco de dados MySQL de origem que deseja replicar. Ao selecionar as tabelas, você também pode optar por renomeá-las no banco de dados ClickHouse de destino, bem como excluir colunas específicas.

<div id="review-permissions-and-start-the-clickpipe">
  ### Verifique as permissões e inicie o ClickPipe
</div>

7. Selecione a função "Full access" no menu suspenso de permissões e clique em "Complete Setup".

   <Image img="https://mintcdn.com/private-7c7dfe99/MoeBDs4tywkUTQ28/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=MoeBDs4tywkUTQ28&q=85&s=f14674431c4db83bae53ffe332bfe7e1" alt="Verificar permissões" size="lg" border width="1844" height="716" data-path="images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg" />

Por fim, consulte a página ["FAQ do ClickPipes para MySQL"](/docs/pt-BR/integrations/clickpipes/mysql/faq) para mais informações sobre problemas comuns e como resolvê-los.

<div id="whats-next">
  ## Próximos passos
</div>

[//]: # "TODO Escrever um guia de migração específico para MySQL e práticas recomendadas, semelhante ao já existente para PostgreSQL. O guia de migração atual aponta para o mecanismo de tabela MySQL, o que não é o ideal."

Depois de configurar seu ClickPipe para replicar dados do MySQL para o ClickHouse Cloud, você pode se concentrar em como consultar e modelar seus dados para obter o melhor desempenho. Para dúvidas comuns sobre MySQL CDC e solução de problemas, consulte a [página de FAQs do MySQL](/docs/pt-BR/integrations/clickpipes/mysql/faq).
