> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-3a82795f.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Looker Studio, anteriormente conhecido como Google Data Studio, é uma ferramenta online para transformar dados em relatórios informativos e painéis personalizáveis.

# Looker Studio

export const PartnerBadge = () => {
  return <div className="PartnerBadge">
            <div className="PartnerBadgeIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <polyline points="12.5 9.5 10 12 6 11 2.5 8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="4.54 4.41 8 3.5 11.46 4.41" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M2.15,3.78 L0.55,6.95 A0.5,0.5 0,0,0 0.77,7.62 L2.5,8.5 L4.54,4.41 L2.82,3.55 A0.5,0.5 0,0,0 2.15,3.78 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M13.5,8.5 L15.23,7.62 A0.5,0.5 0,0,0 15.45,6.95 L13.85,3.78 A0.5,0.5 0,0,0 13.18,3.55 L11.46,4.41 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M11.5,4.5 L9,4.5 L6.15,7.27 A0.5,0.5 0,0,0 6.24,8.05 C7.33,8.74 8.81,8.72 10,7.5 L12.5,9.5 L13.5,8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="7.75 13.5 5.15 12.85 3.5 11.67" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                </svg>
            </div>
            Partner Integration
        </div>;
};

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

O Looker Studio pode se conectar ao ClickHouse pela interface MySQL usando a fonte de dados MySQL oficial do Google.

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

<Steps>
  <Step>
    #### Selecione `Connect your app`

    Após criar seu ClickHouse Cloud serviço, na tela `Connect your app`, selecione MySQL no menu suspenso.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/aRvsybqUpVR5ZXyi/images/_snippets/mysql1.png?fit=max&auto=format&n=aRvsybqUpVR5ZXyi&q=85&s=7f2a9f2355a429306fb48d8852b723c1" alt="Tela de credenciais do ClickHouse Cloud mostrando o menu suspenso de seleção da interface MySQL" border width="3840" height="2138" data-path="images/_snippets/mysql1.png" />
  </Step>

  <Step>
    #### Habilite a interface MySQL

    Ative a chave para habilitar a interface MySQL neste serviço específico.
    Isso exporá a porta `3306` para esse serviço e exibirá uma tela de conexão MySQL com seu nome de usuário MySQL exclusivo.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/aRvsybqUpVR5ZXyi/images/_snippets/mysql2.png?fit=max&auto=format&n=aRvsybqUpVR5ZXyi&q=85&s=f052940edfcf5c5751d10215591e4896" alt="Chave para habilitar a interface MySQL do ClickHouse Cloud e detalhes da conexão" border width="3840" height="2136" data-path="images/_snippets/mysql2.png" />

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

  <Step>
    #### Selecione `Connect`

    Verifique se seu serviço está no estado `Running` e clique no serviço para o qual você quer habilitar a interface MySQL.
    Selecione "Connect" no menu à esquerda:

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/aRvsybqUpVR5ZXyi/images/_snippets/mysql3.png?fit=max&auto=format&n=aRvsybqUpVR5ZXyi&q=85&s=ace83427e3a46a218439e087b117ee4e" alt="Tela de conexão do serviço do ClickHouse Cloud com a opção Connect destacada" border width="3840" height="2160" data-path="images/_snippets/mysql3.png" />
  </Step>

  <Step>
    #### Escolha `MySQL`

    Selecione `MySQL` no menu suspenso `Connect With`.

    <Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/aRvsybqUpVR5ZXyi/images/_snippets/mysql4.png?fit=max&auto=format&n=aRvsybqUpVR5ZXyi&q=85&s=9f719b962d0e107fa55b5cbb0a0624ea" alt="Tela de conexão do ClickHouse Cloud mostrando a seleção da opção MySQL" border width="1326" height="1046" data-path="images/_snippets/mysql4.png" />
  </Step>

  <Step>
    #### Habilite a interface MySQL

    Ative a chave para habilitar a interface MySQL neste serviço específico.
    Isso exporá a porta `3306` para esse serviço e exibirá sua tela de conexão MySQL, incluindo seu nome de usuário MySQL exclusivo.
  </Step>
</Steps>

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/aRvsybqUpVR5ZXyi/images/_snippets/mysql5.png?fit=max&auto=format&n=aRvsybqUpVR5ZXyi&q=85&s=1efc4e6c67aba4d0be0a17750f91da74" alt="Tela de conexão do ClickHouse Cloud com a interface MySQL habilitada mostrando os detalhes da conexão" border width="1320" height="1520" data-path="images/_snippets/mysql5.png" />

<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>
    #### Crie um perfil de configurações de somente leitura

    Crie um [perfil de configurações](/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>
    #### Crie um novo usuário MySQL somente leitura

    [Crie um usuário](/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>
    #### Conceda ao novo usuário permissões para acessar as tabelas desejadas

    [Conceda](/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 do servidor ClickHouse on-premise
</div>

Consulte [a documentação oficial](/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](/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-looker-studio-to-clickhouse">
  ## Conectando o Looker Studio ao ClickHouse
</div>

Primeiro, faça login em [https://lookerstudio.google.com](https://lookerstudio.google.com) com sua conta do Google e crie uma nova fonte de dados:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_01.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=3466fbf213c3ea8215e096297c2e0a26" alt="Criando uma nova fonte de dados na interface do Looker Studio" border width="1229" height="683" data-path="images/integrations/data-visualization/looker_studio_01.png" />

<br />

Procure o conector oficial do MySQL fornecido pelo Google (chamado simplesmente de **MySQL**):

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_02.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=dc19b219b44d89caaa8111975d23ace7" alt="Pesquisa do conector MySQL na lista de conectores do Looker Studio" border width="1923" height="709" data-path="images/integrations/data-visualization/looker_studio_02.png" />

<br />

Informe os detalhes da conexão. Observe que a porta da interface MySQL é 9004 por padrão
e pode variar dependendo da configuração do servidor.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_03.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=c4305daed89a0940507c65df604a44fe" alt="Especificando os detalhes da conexão MySQL do ClickHouse no Looker Studio" border width="999" height="1329" data-path="images/integrations/data-visualization/looker_studio_03.png" />

<br />

Agora, você tem duas opções para buscar os dados do ClickHouse. Primeiro, pode usar o recurso Navegador de tabelas:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_04.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=865232d186342e36f31407093b8eb529" alt="Usando o Navegador de tabelas para selecionar tabelas do ClickHouse no Looker Studio" border width="1299" height="1333" data-path="images/integrations/data-visualization/looker_studio_04.png" />

<br />

Como alternativa, você pode especificar uma consulta personalizada para buscar seus dados:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_05.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=c169524dc3bbfa8ad6c4df3a87bf9a59" alt="Usando uma consulta SQL personalizada para buscar dados do ClickHouse no Looker Studio" border width="1518" height="1333" data-path="images/integrations/data-visualization/looker_studio_05.png" />

<br />

Por fim, você deverá conseguir ver a estrutura da tabela identificada automaticamente e ajustar os tipos de dados, se necessário.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_06.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=f1bb77ac87366cab437a208c4f84ac2d" alt="Visualizando a estrutura da tabela identificada automaticamente no Looker Studio" border width="1774" height="1114" data-path="images/integrations/data-visualization/looker_studio_06.png" />

<br />

Agora você pode continuar explorando seus dados ou criar um novo relatório!

<div id="using-looker-studio-with-clickhouse-cloud">
  ## Usando o Looker Studio com ClickHouse Cloud
</div>

Ao usar o ClickHouse Cloud, é preciso primeiro habilitar a interface MySQL. Você pode fazer isso na caixa de diálogo de conexão, na aba "MySQL".

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_enable_mysql.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=04cf4d663e68098748e2cb2baa523bd7" alt="Habilitando a interface MySQL nas configurações do ClickHouse Cloud" border width="1748" height="684" data-path="images/integrations/data-visualization/looker_studio_enable_mysql.png" />

<br />

Na UI do Looker Studio, escolha a opção "Enable SSL". O certificado SSL do ClickHouse Cloud é assinado pela [Let's Encrypt](https://letsencrypt.org/certificates/). Você pode baixar esse certificado raiz [aqui](https://letsencrypt.org/certs/isrgrootx1.pem).

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-mintlify-3a82795f/WLPCujN9unulSjl4/images/integrations/data-visualization/looker_studio_mysql_cloud.png?fit=max&auto=format&n=WLPCujN9unulSjl4&q=85&s=f5c18749f82b1c7dddf7f5ed3c5fb51a" alt="Configuração da conexão do Looker Studio com as configurações SSL do ClickHouse Cloud" border width="858" height="530" data-path="images/integrations/data-visualization/looker_studio_mysql_cloud.png" />

<br />

O restante das etapas é o mesmo listado acima na seção anterior.
