> ## 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.

> O Tableau Online potencializa o uso de dados para tornar a tomada de decisão mais ágil e confiável, de qualquer lugar.

# Tableau Online

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>;
};

O Tableau Online pode se conectar ao ClickHouse Cloud ou a uma implantação on-premise do ClickHouse pela interface MySQL usando a fonte de dados oficial do MySQL.

<div id="clickhouse-cloud-setup">
  ## Configuração do ClickHouse Cloud
</div>

<Steps>
  <Step title={<>Selecione <code>Connect your app</code></>} id="select-connect-your-app">
    Após criar seu serviço no ClickHouse Cloud, na tela `Connect your app`, selecione MySQL no menu suspenso.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql1.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=3fee8b16269b6d6db4be00c671931dc6" alt="Tela de credenciais do ClickHouse Cloud mostrando o menu suspenso de seleção da interface MySQL" width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
    </Frame>
  </Step>

  <Step title="Habilite a interface MySQL" id="enable-mysql-interface">
    Ative o interruptor para habilitar a interface MySQL para este serviço específico.
    Isso abrirá a porta `3306` para esse serviço e exibirá uma tela de conexão MySQL com seu usuário MySQL exclusivo.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql2.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=1f1065226a43c32aee2f841823e97fa7" alt="Interruptor para habilitar a interface MySQL no ClickHouse Cloud e detalhes da conexão" width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />
    </Frame>

    Como alternativa, para habilitar a interface MySQL em um serviço existente:
  </Step>

  <Step title={<>Selecione <code>Connect</code></>} id="select-connect">
    Certifique-se de que seu serviço esteja no estado `Running` e clique no serviço para o qual você deseja habilitar a interface MySQL.
    Selecione "Connect" no menu à esquerda:

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql3.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=563cda780487040d6da61f40bb612113" alt="Tela de conexão do serviço no ClickHouse Cloud com a opção Connect destacada" width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
    </Frame>
  </Step>

  <Step title={<>Escolha <code>MySQL</code></>} id="choose-mysql">
    Selecione `MySQL` no menu suspenso `Connect With`.

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql4.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=7e7d9febe22e2d83b4edf27a3f1546ab" alt="Tela de conexão do ClickHouse Cloud mostrando a seleção da opção MySQL" width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
      </Frame>
    </div>
  </Step>

  <Step title="Habilite a interface MySQL" id="enable-mysql-interface-existing-service">
    Ative o interruptor para habilitar a interface MySQL para este serviço específico.
    Isso abrirá a porta `3306` para esse serviço e exibirá sua tela de conexão MySQL, incluindo seu usuário MySQL exclusivo.
  </Step>
</Steps>

<div className="ch-image-md">
  <Frame>
    <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql5.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=fe4db63a9a94f057aa6b57a2be5366a4" alt="Tela de conexão do ClickHouse Cloud com a interface MySQL habilitada mostrando os detalhes da conexão" width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />
  </Frame>
</div>

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## Criando um usuário MySQL somente leitura no ClickHouse Cloud
</div>

O ClickHouse Cloud cria automaticamente um usuário `mysql4<subdomain>` que usa a mesma senha do usuário padrão.
A parte `<subdomain>` corresponde à primeira parte do hostname do seu ClickHouse Cloud.

Esse formato de nome de usuário é necessário para compatibilidade com ferramentas que estabelecem conexões seguras, mas não incluem dados de [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) no handshake de TLS.
Sem as informações de SNI, o sistema não consegue fazer o roteamento interno corretamente, então o subdomínio incorporado ao nome de usuário fornece as informações de roteamento necessárias.
O cliente de console do MySQL é um exemplo de ferramenta que precisa disso.

<Tip>
  Uma prática recomendada é criar um novo usuário MySQL somente leitura.
</Tip>

<Note>
  Para um hostname do ClickHouse Cloud como `foobar.us-east1.aws.clickhouse.cloud`, a parte `<subdomain>` é `foobar`, e um nome de usuário MySQL personalizado poderia ser algo como `mysql4foobar_team1`.
</Note>

<Steps>
  <Step title="Crie um perfil de configurações de somente leitura" id="create-a-custom-settings-user">
    Crie um [perfil de configurações](/docs/pt-BR/reference/statements/create/settings-profile) para aplicar ao seu usuário somente leitura,
    definindo a configuração `readonly` como `1`:

    ```sql theme={null}
    CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1
    ```
  </Step>

  <Step title="Crie um novo usuário MySQL somente leitura" id="create-a-readonly-mysql-user">
    [Crie um usuário](/docs/pt-BR/reference/statements/create/user) com um nome neste formato:

    ```sql theme={null}
    mysql4<subdomain>_<username>
    ```

    Aplique o `readonly_profile` ao novo usuário e certifique-se de que a senha esteja no formato double SHA1. Por exemplo:

    ```sql theme={null}
    CREATE USER mysql4foobar_readonly
    IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
    SETTINGS PROFILE 'readonly_profile';
    ```
  </Step>

  <Step title="Conceda ao novo usuário permissões para acessar as tabelas desejadas" id="grant-the-new-user-the-necessary-permissions">
    [Conceda](/docs/pt-BR/reference/statements/grant) ao novo usuário as permissões necessárias para interagir com as tabelas ou bancos de dados desejados.
    Por exemplo, se você quiser conceder acesso apenas a `system.query_log`:

    ```sql theme={null}
    GRANT SELECT ON system.query_log TO mysql4foobar_readonly;
    ```

    <Note>
      Para o usuário somente leitura, certifique-se de conceder apenas permissões `SELECT` às tabelas que você deseja acessar.
    </Note>

    O usuário recém-criado pode ser usado para se conectar ao seu serviço do ClickHouse Cloud pela interface MySQL.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### Solução de problemas com vários usuários MySQL no ClickHouse Cloud
</div>

Se você criou um novo usuário MySQL e vê o seguinte erro ao se conectar pelo cliente de linha de comando do MySQL:

```
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54
```

Nesse caso, certifique-se de que o nome de usuário siga o formato `mysql4<subdomain>_<username>`, conforme descrito ([acima](#creating-multiple-mysql-users-in-clickhouse-cloud)).

<div id="on-premise-clickhouse-server-setup">
  ## Configuração on-premise do servidor ClickHouse
</div>

Consulte [a documentação oficial](/docs/pt-BR/concepts/features/interfaces/mysql)
para saber como configurar um servidor ClickHouse com a interface MySQL habilitada.

Além de adicionar uma entrada ao `config.xml` do servidor

```xml theme={null}
<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>
```

também é *obrigatório* usar
[criptografia de senha com Double SHA1](/docs/pt-BR/concepts/features/configuration/settings/settings-users#user-namepassword)
para o usuário que usará a interface MySQL.

Como gerar, no shell, uma senha aleatória criptografada com Double SHA1:

```shell theme={null}
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
```

A saída deve ser semelhante à seguinte:

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

A primeira linha é a senha gerada, e a segunda linha é o hash que pode ser usado para configurar o ClickHouse.

Aqui está um exemplo de configuração para `mysql_user` que usa o hash gerado:

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>
```

Substitua a entrada `password_double_sha1_hex` pelo hash Double SHA1 gerado por você.

Além disso, é recomendável usar `use_mysql_types_in_show_columns`
para exibir os tipos nativos do MySQL em vez dos do ClickHouse nos resultados da consulta `SHOW [FULL] COLUMNS`,
o que permite que ferramentas de BI inspecionem corretamente o esquema do banco de dados ao usar conectores MySQL.

Por exemplo:

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<profiles>
    <default>
        <use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
    </default>
</profiles>
```

ou atribuí-lo a outro profile em vez do profile padrão.

Se você tiver o binário `mysql` disponível, poderá testar a conexão pela linha de comando.
Usando o nome de usuário de exemplo (`mysql_user`) e a senha (`LZOQYnqQN4L/T6L0`) acima, o comando seria:

```bash theme={null}
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
```

```
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.
```

Por fim, configure o ClickHouse Server para escutar no(s) endereço(s) IP desejado(s). Por exemplo, em `config.xml`, descomente o trecho a seguir para escutar em todos os endereços:

```bash theme={null}
<listen_host>::</listen_host> 
```

<div id="connecting-tableau-online-to-clickhouse-on-premise-without-ssl">
  ## Conectando o Tableau Online ao ClickHouse (on-premise sem SSL)
</div>

Faça login no seu site do Tableau Cloud e adicione uma nova fonte de dados publicada.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=80282e8972fac8925c8e86928f443ff7" alt="Interface do Tableau Online mostrando o botão 'New' para criar uma fonte de dados publicada" border width="1627" height="1024" data-path="images/integrations/data-visualization/tableau_online_01.webp" />

<br />

Selecione "MySQL" na lista de conectores disponíveis.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=52b155274958a00c95e7ad65c5dc9742" alt="Tela de seleção de conectores do Tableau Online com a opção MySQL destacada" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_02.webp" />

<br />

Informe os detalhes da conexão obtidos durante a configuração do ClickHouse.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=f2dbefab54d05ca84bb59258a5d53de4" alt="Tela de configuração da conexão MySQL no Tableau Online com campos de servidor, porta, banco de dados e credenciais" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_03.webp" />

<br />

O Tableau Online inspecionará o banco de dados e exibirá uma lista das tabelas disponíveis. Arraste a tabela desejada para a área à direita. Além disso, você pode clicar em "Update Now" para visualizar os dados e ajustar com mais precisão os tipos ou nomes dos campos identificados.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_04.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4e8a65ae2ac8e97052ac2f3ca9f087cc" alt="Página da fonte de dados do Tableau Online mostrando as tabelas do banco de dados à esquerda e a área à direita com funcionalidade de arrastar e soltar" border width="2277" height="1395" data-path="images/integrations/data-visualization/tableau_online_04.webp" />

<br />

Depois disso, só falta clicar em "Publish As" no canto superior direito, e você já poderá usar normalmente a fonte de dados recém-criada no Tableau Online.

Observação: se você quiser usar o Tableau Online em conjunto com o Tableau Desktop e compartilhar fontes de dados do ClickHouse entre eles, certifique-se de usar o Tableau Desktop também com o conector MySQL padrão, seguindo o guia de configuração exibido [aqui](https://www.tableau.com/support/drivers) ao selecionar MySQL no menu suspenso fonte de dados. Se você tiver um Mac M1, consulte [este tópico de solução de problemas](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) para uma alternativa de instalação do driver.

<div id="connecting-tableau-online-to-clickhouse-cloud-or-on-premise-setup-with-ssl">
  ## Como conectar o Tableau Online ao ClickHouse (configuração na nuvem ou on-premise com SSL)
</div>

Como não é possível fornecer os certificados SSL pelo assistente de configuração de conexão MySQL do Tableau Online,
a única forma é usar o Tableau Desktop para configurar a conexão e depois exportá-la para o Tableau Online. Ainda assim, esse processo é bastante simples.

Execute o Tableau Desktop em uma máquina Windows ou Mac e selecione "Connect" -> "To a Server" -> "MySQL".
Muito provavelmente, primeiro será necessário instalar o driver MySQL na sua máquina.
Você pode fazer isso seguindo o guia de configuração exibido [aqui](https://www.tableau.com/support/drivers) ao selecionar MySQL no menu suspenso de fonte de dados.
Se você tiver um Mac M1, consulte [este tópico de solução de problemas](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) para ver uma alternativa para a instalação do driver.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=7481c985675755865ed9cfbff72b658d" alt="Interface do Tableau Desktop mostrando o menu Connect com a opção MySQL destacada" border width="735" height="659" data-path="images/integrations/data-visualization/tableau_desktop_01.webp" />

<br />

<Note>
  Na UI de configuração da conexão MySQL, certifique-se de que a opção "SSL" esteja habilitada.
  O certificado SSL do ClickHouse Cloud é assinado pela [Let's Encrypt](https://letsencrypt.org/certificates/).
  Você pode baixar este certificado raiz [aqui](https://letsencrypt.org/certs/isrgrootx1.pem).
</Note>

Informe as credenciais do MySQL user da sua instância do ClickHouse Cloud e o caminho para o certificado raiz baixado.

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=b184ffe5c897400fb243499c2e073a4b" alt="Caixa de diálogo de conexão MySQL do Tableau Desktop com a opção SSL habilitada e campos para servidor, nome de usuário, senha e certificado" border width="496" height="567" data-path="images/integrations/data-visualization/tableau_desktop_02.webp" />

<br />

Escolha as tabelas desejadas normalmente (assim como no Tableau Online)
e selecione "Server" -> "Publish Data Source" -> Tableau Cloud.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4b3003df50b1fdf42a6361551bbc1146" alt="Tableau Desktop mostrando o menu Server com a opção Publish Data Source destacada" border width="813" height="321" data-path="images/integrations/data-visualization/tableau_desktop_03.webp" />

<br />

IMPORTANTE: você precisa selecionar "Embedded password" nas opções de "Authentication".

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_04.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=65784dddca1098e0c020249d971bbbdd" alt="Caixa de diálogo de publicação do Tableau Desktop mostrando as opções de Authentication com Embedded password selecionada" border width="775" height="643" data-path="images/integrations/data-visualization/tableau_desktop_04.webp" />

<br />

Além disso, escolha "Update workbook to use the published data source".

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_05.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=6f889cbb8c8ec6e20a6d078a65513b47" alt="Caixa de diálogo de publicação do Tableau Desktop com a opção 'Update workbook to use the published data source' marcada" border width="373" height="649" data-path="images/integrations/data-visualization/tableau_desktop_05.webp" />

<br />

Por fim, clique em "Publish", e sua fonte de dados com credenciais incorporadas será aberta automaticamente no Tableau Online.

<div id="known-limitations-clickhouse-2311">
  ## Limitações conhecidas (ClickHouse 23.11)
</div>

Todas as limitações conhecidas foram corrigidas no ClickHouse `23.11`. Se você encontrar alguma outra incompatibilidade, não hesite em [entrar em contato conosco](https://clickhouse.com/company/contact) ou abrir uma [nova issue](https://github.com/ClickHouse/ClickHouse/issues).
