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

> Looker Studio, anciennement Google Data Studio, est un outil en ligne qui permet de transformer des données en rapports et tableaux de bord informatifs et personnalisables.

# 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>
            Intégration partenaire
        </div>;
};

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

<PartnerBadge />

Looker Studio peut se connecter à ClickHouse via l’interface MySQL à l’aide de la source de données MySQL officielle de Google.

<div id="clickhouse-cloud-setup">
  ## Configuration de ClickHouse Cloud
</div>

<Steps>
  <Step title={<>Sélectionnez <code>Connect your app</code></>} id="select-connect-your-app">
    Après avoir créé votre service ClickHouse Cloud, dans l’écran `Connect your app`, sélectionnez MySQL dans le menu déroulant.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql1.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=3fee8b16269b6d6db4be00c671931dc6" alt="Écran des identifiants ClickHouse Cloud affichant le menu déroulant de sélection de l’interface MySQL" width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
    </Frame>
  </Step>

  <Step title="Activer l’interface MySQL" id="enable-mysql-interface">
    Basculez l’interrupteur pour activer l’interface MySQL pour ce service.
    Cela ouvrira le port `3306` pour ce service et affichera un écran de connexion MySQL avec votre nom d’utilisateur MySQL unique.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql2.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=1f1065226a43c32aee2f841823e97fa7" alt="Interrupteur d’activation de l’interface MySQL ClickHouse Cloud et détails de connexion" width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />
    </Frame>

    Sinon, pour activer l’interface MySQL pour un service existant :
  </Step>

  <Step title={<>Sélectionnez <code>Connect</code></>} id="select-connect">
    Assurez-vous que votre service est à l’état `Running`, puis cliquez sur le service pour lequel vous souhaitez activer l’interface MySQL.
    Sélectionnez "Connect" dans le menu de gauche :

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql3.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=563cda780487040d6da61f40bb612113" alt="Écran de connexion du service ClickHouse Cloud avec l’option Connect mise en évidence" width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
    </Frame>
  </Step>

  <Step title={<>Choisissez <code>MySQL</code></>} id="choose-mysql">
    Sélectionnez `MySQL` dans le menu déroulant `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="Écran de connexion ClickHouse Cloud affichant la sélection de l’option MySQL" width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
      </Frame>
    </div>
  </Step>

  <Step title="Activer l’interface MySQL" id="enable-mysql-interface-existing-service">
    Basculez l’interrupteur pour activer l’interface MySQL pour ce service.
    Cela ouvrira le port `3306` pour ce service et affichera votre écran de connexion MySQL, avec votre nom d’utilisateur MySQL unique.
  </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="Écran de connexion ClickHouse Cloud avec l’interface MySQL activée affichant les détails de connexion" width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />
  </Frame>
</div>

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## Création d’un utilisateur MySQL `readonly` dans ClickHouse Cloud
</div>

ClickHouse Cloud crée automatiquement un utilisateur `mysql4<subdomain>` qui partage le même mot de passe que l’utilisateur `default`.
La partie `<subdomain>` correspond à la première partie du nom d’hôte de votre instance ClickHouse Cloud.

Ce format de nom d’utilisateur est requis pour assurer la compatibilité avec les outils qui établissent des connexions sécurisées mais n’incluent pas les données [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) dans leur handshake TLS.
Sans informations SNI, le système ne peut pas effectuer le routage interne correctement ; l’indication de sous-domaine intégrée au nom d’utilisateur fournit donc les informations de routage nécessaires.
Le client de console MySQL est un exemple d’outil qui en a besoin.

<Tip>
  Il est recommandé de créer un nouvel utilisateur MySQL `readonly`.
</Tip>

<Note>
  Pour un nom d’hôte ClickHouse Cloud tel que `foobar.us-east1.aws.clickhouse.cloud`, la partie `<subdomain>` est égale à `foobar`, et un nom d’utilisateur MySQL personnalisé pourrait être `mysql4foobar_team1`.
</Note>

<Steps>
  <Step title="Créer un profil de paramètres `readonly`" id="create-a-custom-settings-user">
    Créez un [profil de paramètres](/docs/fr/reference/statements/create/settings-profile) à appliquer à votre utilisateur `readonly`,
    en définissant le paramètre `readonly` sur `1` :

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

  <Step title="Créer un nouvel utilisateur MySQL `readonly`" id="create-a-readonly-mysql-user">
    [Créez un utilisateur](/docs/fr/reference/statements/create/user) avec un nom respectant ce format :

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

    Appliquez `readonly_profile` au nouvel utilisateur et assurez-vous que le mot de passe est au format double SHA1. Par exemple :

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

  <Step title="Accorder au nouvel utilisateur les permissions nécessaires pour accéder aux tables souhaitées" id="grant-the-new-user-the-necessary-permissions">
    [Accordez](/docs/fr/reference/statements/grant) au nouvel utilisateur les permissions nécessaires pour interagir avec les tables ou bases de données souhaitées.
    Par exemple, si vous souhaitez accorder l’accès uniquement à `system.query_log` :

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

    <Note>
      Pour l’utilisateur `readonly`, veillez à n’accorder que des permissions `SELECT` sur les tables auxquelles vous souhaitez accéder.
    </Note>

    L’utilisateur nouvellement créé peut être utilisé pour se connecter à votre service ClickHouse Cloud via l’interface MySQL.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### Troubleshooting de plusieurs utilisateurs MySQL dans ClickHouse Cloud
</div>

Si vous avez créé un nouvel utilisateur MySQL et que l’erreur suivante s’affiche lorsque vous vous connectez via le client MySQL en CLI :

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

Dans ce cas, assurez-vous que le nom d’utilisateur respecte le format `mysql4<subdomain>_<username>`, comme indiqué ([ci-dessus](#creating-multiple-mysql-users-in-clickhouse-cloud)).

<div id="on-premise-clickhouse-server-setup">
  ## Configuration d’un serveur ClickHouse sur site
</div>

Veuillez consulter [la documentation officielle](/docs/fr/concepts/features/interfaces/mysql)
pour savoir comment configurer un serveur ClickHouse avec l’interface MySQL activée.

Outre l’ajout d’une entrée au `config.xml` du serveur

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

il est également *nécessaire* d’utiliser
[le chiffrement de mot de passe Double SHA1](/docs/fr/concepts/features/configuration/settings/settings-users#user-namepassword)
pour l’utilisateur qui utilisera l’interface MySQL.

Génération d’un mot de passe aléatoire chiffré en Double SHA1 depuis le shell :

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

Le résultat devrait ressembler à ce qui suit :

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

La première ligne correspond au mot de passe généré, et la deuxième au hash que nous pouvons utiliser pour configurer ClickHouse.

Voici un exemple de configuration pour `mysql_user` utilisant le hash généré :

`/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>
```

Remplacez l’entrée `password_double_sha1_hex` par votre propre hachage Double SHA1 généré.

De plus, il est recommandé d’utiliser `use_mysql_types_in_show_columns`
pour afficher les types MySQL natifs au lieu de ceux de ClickHouse dans les résultats de la requête `SHOW [FULL] COLUMNS`,
ce qui permet aux outils de BI d’inspecter correctement le schéma de la base de données lors de l’utilisation de connecteurs MySQL.

Par exemple :

`/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 l’affecter à un profil différent plutôt qu’au profil par défaut.

Si le binaire `mysql` est disponible, vous pouvez tester la connexion depuis la ligne de commande.
En utilisant l’exemple de nom d’utilisateur (`mysql_user`) et de mot de passe (`LZOQYnqQN4L/T6L0`) ci-dessus, la ligne de commande serait :

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

Enfin, configurez le serveur ClickHouse pour qu’il écoute sur la ou les adresses IP souhaitées. Par exemple, dans `config.xml`, décommentez les lignes suivantes pour écouter sur toutes les adresses :

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

<div id="connecting-looker-studio-to-clickhouse">
  ## Connexion de Looker Studio à ClickHouse
</div>

Commencez par vous connecter à [https://lookerstudio.google.com](https://lookerstudio.google.com) avec votre compte Google, puis créez une nouvelle source de données :

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_01.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=8c75b27cc6c0f117651edcccc2a2068d" alt="Création d’une nouvelle source de données dans l’interface Looker Studio" border width="1229" height="683" data-path="images/integrations/data-visualization/looker_studio_01.webp" />

<br />

Recherchez le connecteur MySQL officiel fourni par Google (simplement nommé **MySQL**) :

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_02.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=4991d78eb1285299605e6c16e46e40f1" alt="Recherche du connecteur MySQL dans la liste des connecteurs de Looker Studio" border width="1923" height="709" data-path="images/integrations/data-visualization/looker_studio_02.webp" />

<br />

Renseignez vos informations de connexion. Notez que le port de l’interface MySQL est 9004 par défaut,
et qu’il peut être différent selon la configuration du serveur.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_03.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=02c7a1f9fda174bc02930e760a6b3724" alt="Saisie des informations de connexion MySQL à ClickHouse dans Looker Studio" border width="999" height="1329" data-path="images/integrations/data-visualization/looker_studio_03.webp" />

<br />

Vous avez maintenant deux options pour récupérer les données depuis ClickHouse. Vous pouvez d’abord utiliser la fonctionnalité de navigation dans les tables :

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/PWQnWTwcu17exYX2/images/integrations/data-visualization/looker_studio_04.webp?fit=max&auto=format&n=PWQnWTwcu17exYX2&q=85&s=0c2eab5e46c8d870ffbca9695c54c3fe" alt="Utilisation du navigateur de tables pour sélectionner des tables ClickHouse dans Looker Studio" border width="1299" height="1333" data-path="images/integrations/data-visualization/looker_studio_04.webp" />

<br />

Vous pouvez également spécifier une requête SQL personnalisée pour récupérer vos données :

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_05.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=0d286c6b3ebd359043becbfd8e9e4b6a" alt="Utilisation d’une requête SQL personnalisée pour récupérer des données depuis ClickHouse dans Looker Studio" border width="1518" height="1333" data-path="images/integrations/data-visualization/looker_studio_05.webp" />

<br />

Enfin, vous devriez voir la structure de la table détectée automatiquement et pouvoir ajuster les types de données si nécessaire.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_06.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=a5f83fa01e727de02d76c828073dae8b" alt="Affichage de la structure de table ClickHouse détectée automatiquement dans Looker Studio" border width="1774" height="1114" data-path="images/integrations/data-visualization/looker_studio_06.webp" />

<br />

Vous pouvez maintenant explorer vos données ou créer un nouveau rapport !

<div id="using-looker-studio-with-clickhouse-cloud">
  ## Utiliser Looker Studio avec ClickHouse Cloud
</div>

Lorsque vous utilisez ClickHouse Cloud, vous devez d’abord activer l’interface MySQL. Vous pouvez le faire dans la boîte de dialogue de connexion, dans l’onglet « MySQL ».

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_enable_mysql.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=bdf0d324a44a504830035a581028af32" alt="Activation de l’interface MySQL dans les paramètres de ClickHouse Cloud" border width="1748" height="684" data-path="images/integrations/data-visualization/looker_studio_enable_mysql.webp" />

<br />

Dans l’UI de Looker Studio, sélectionnez l’option « Enable SSL ». Le certificat SSL de ClickHouse Cloud est signé par [Let's Encrypt](https://letsencrypt.org/certificates/). Vous pouvez télécharger ce certificat racine [ici](https://letsencrypt.org/certs/isrgrootx1.pem).

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/looker_studio_mysql_cloud.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=856761a5f256b3a4c0e4eb3ee4aade70" alt="Configuration de la connexion Looker Studio avec les paramètres SSL de ClickHouse Cloud" border width="858" height="530" data-path="images/integrations/data-visualization/looker_studio_mysql_cloud.webp" />

<br />

Les autres étapes sont identiques à celles indiquées ci-dessus dans la section précédente.
