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

> Tableau Online aprovecha el poder de los datos para ayudar a las personas a tomar decisiones más rápidas y seguras desde cualquier 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>;
};

Tableau Online puede conectarse a ClickHouse Cloud o a una implementación on-premise de ClickHouse a través de la interfaz MySQL mediante la fuente de datos oficial de MySQL.

<div id="clickhouse-cloud-setup">
  ## Configuración de ClickHouse Cloud
</div>

<Steps>
  <Step title={<>Selecciona <code>Connect your app</code></>} id="select-connect-your-app">
    Después de crear tu servicio de ClickHouse Cloud, en la pantalla `Connect your app`, selecciona MySQL en el menú desplegable.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql1.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=3fee8b16269b6d6db4be00c671931dc6" alt="Pantalla de credenciales de ClickHouse Cloud que muestra el menú desplegable para seleccionar la interfaz MySQL" width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
    </Frame>
  </Step>

  <Step title="Habilita la interfaz MySQL" id="enable-mysql-interface">
    Activa el interruptor para habilitar la interfaz MySQL para este servicio específico.
    Esto expondrá el puerto `3306` para este servicio y te mostrará una pantalla de conexión MySQL que incluye tu nombre de usuario MySQL único.

    <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 la interfaz MySQL en ClickHouse Cloud y detalles de conexión" width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />
    </Frame>

    Como alternativa, para habilitar la interfaz MySQL en un servicio existente:
  </Step>

  <Step title={<>Selecciona <code>Connect</code></>} id="select-connect">
    Asegúrate de que tu servicio esté en estado `Running` y luego haz clic en el servicio para el que quieres habilitar la interfaz MySQL.
    Selecciona "Connect" en el menú de la izquierda:

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql3.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=563cda780487040d6da61f40bb612113" alt="Pantalla de conexión del servicio de ClickHouse Cloud con la opción Connect resaltada" width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
    </Frame>
  </Step>

  <Step title={<>Elige <code>MySQL</code></>} id="choose-mysql">
    Selecciona `MySQL` en el menú desplegable `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="Pantalla de conexión de ClickHouse Cloud que muestra la selección de la opción MySQL" width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
      </Frame>
    </div>
  </Step>

  <Step title="Habilita la interfaz MySQL" id="enable-mysql-interface-existing-service">
    Activa el interruptor para habilitar la interfaz MySQL para este servicio específico.
    Esto expondrá el puerto `3306` para este servicio y te mostrará la pantalla de conexión MySQL, que incluye tu nombre de usuario MySQL único.
  </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="Pantalla de conexión de ClickHouse Cloud con la interfaz MySQL habilitada que muestra los detalles de conexión" width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />
  </Frame>
</div>

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## Crear un usuario MySQL de solo lectura en ClickHouse Cloud
</div>

ClickHouse Cloud crea automáticamente un usuario `mysql4<subdomain>` que comparte la misma contraseña que el usuario predeterminado.
La parte `<subdomain>` corresponde a la primera parte del hostname de tu servicio de ClickHouse Cloud.

Este formato de nombre de usuario es necesario para mantener la compatibilidad con herramientas que establecen conexiones seguras, pero no incluyen datos de [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) en el handshake de TLS.
Sin información de SNI, el sistema no puede realizar correctamente el enrutamiento interno, por lo que la pista del subdominio integrada en el nombre de usuario proporciona la información de enrutamiento necesaria.
El cliente de consola de MySQL es un ejemplo de herramienta que lo requiere.

<Tip>
  Como práctica recomendada, crea un nuevo usuario MySQL de solo lectura.
</Tip>

<Note>
  Para un hostname de ClickHouse Cloud como `foobar.us-east1.aws.clickhouse.cloud`, la parte `<subdomain>` equivale a `foobar`, y un nombre de usuario MySQL personalizado podría ser `mysql4foobar_team1`.
</Note>

<Steps>
  <Step title="Crear un perfil de configuración de solo lectura" id="create-a-custom-settings-user">
    Crea un [perfil de configuración](/docs/es/reference/statements/create/settings-profile) para aplicárselo a tu usuario de solo lectura,
    estableciendo la configuración `readonly` en `1`:

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

  <Step title="Crear un nuevo usuario MySQL de solo lectura" id="create-a-readonly-mysql-user">
    [Crea un usuario](/docs/es/reference/statements/create/user) con un nombre que siga este formato:

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

    Aplica `readonly_profile` al nuevo usuario y asegúrate de que la contraseña esté en formato double SHA1. Por ejemplo:

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

  <Step title="Conceder al nuevo usuario permisos para acceder a las tablas deseadas" id="grant-the-new-user-the-necessary-permissions">
    [Concede](/docs/es/reference/statements/grant) al nuevo usuario los permisos necesarios para interactuar con las tablas o bases de datos que quieras.
    Por ejemplo, si quieres conceder acceso solo a `system.query_log`:

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

    <Note>
      Para el usuario de solo lectura, asegúrate de conceder únicamente permisos `SELECT` sobre las tablas a las que quieras acceder.
    </Note>

    El usuario recién creado puede usarse para conectarse a tu servicio de ClickHouse Cloud mediante la interfaz MySQL.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### Solución de problemas con varios usuarios MySQL en ClickHouse Cloud
</div>

Si ha creado un nuevo usuario MySQL y ve el siguiente error al conectarse mediante el cliente MySQL CLI:

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

En este caso, asegúrate de que el nombre de usuario siga el formato `mysql4<subdomain>_<username>`, tal como se describe ([más arriba](#creating-multiple-mysql-users-in-clickhouse-cloud)).

<div id="on-premise-clickhouse-server-setup">
  ## Configuración del servidor de ClickHouse on-premise
</div>

Consulte [la documentación oficial](/docs/es/concepts/features/interfaces/mysql)
para saber cómo configurar un servidor ClickHouse con la interfaz MySQL habilitada.

Además de añadir una entrada al `config.xml` del servidor

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

también es *obligatorio* usar
[cifrado de contraseña con Double SHA1](/docs/es/concepts/features/configuration/settings/settings-users#user-namepassword)
para el usuario que utilizará la interfaz MySQL.

Generar desde la shell una contraseña aleatoria cifrada con 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 '-'
```

La salida debería verse así:

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

La primera línea es la contraseña generada, y la segunda es el hash que podemos usar para configurar ClickHouse.

Aquí tienes un ejemplo de configuración para `mysql_user` que utiliza el hash generado:

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

Reemplace la entrada `password_double_sha1_hex` por su propio hash Double SHA1 generado.

Además, se recomienda usar `use_mysql_types_in_show_columns`
para mostrar los tipos nativos de MySQL en lugar de los de ClickHouse en los resultados de la consulta `SHOW [FULL] COLUMNS`,
lo que permite a las herramientas de BI inspeccionar correctamente el esquema de la base de datos al usar conectores de MySQL.

Por ejemplo:

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

o asígnalo a un perfil distinto en lugar del perfil predeterminado.

Si tienes disponible el binario `mysql`, puedes probar la conexión desde la línea de comandos.
Usando el nombre de usuario de ejemplo (`mysql_user`) y la contraseña (`LZOQYnqQN4L/T6L0`) mencionados arriba, el comando sería:

```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 último, configure el servidor de ClickHouse para que escuche en la(s) dirección(es) IP deseada(s). Por ejemplo, en `config.xml`, descomente lo siguiente para que escuche en todas las direcciones:

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

<div id="connecting-tableau-online-to-clickhouse-on-premise-without-ssl">
  ## Conectar Tableau Online a ClickHouse (on-premise sin SSL)
</div>

Inicia sesión en tu sitio de Tableau Cloud y añade un nuevo origen de datos publicado.

<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="Interfaz de Tableau Online que muestra el botón 'New' para crear un origen de datos publicado" border width="1627" height="1024" data-path="images/integrations/data-visualization/tableau_online_01.webp" />

<br />

Selecciona "MySQL" en la lista de conectores disponibles.

<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="Pantalla de selección de conectores de Tableau Online con la opción MySQL resaltada" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_02.webp" />

<br />

Especifica los datos de conexión recopilados durante la configuración de 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="Pantalla de configuración de la conexión MySQL de Tableau Online con campos para servidor, puerto, base de datos y credenciales" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_03.webp" />

<br />

Tableau Online inspeccionará la base de datos y proporcionará una lista de tablas disponibles. Arrastra la tabla deseada al lienzo de la derecha. Además, puedes hacer clic en "Update Now" para obtener una vista previa de los datos, así como ajustar los tipos o nombres de los campos detectados.

<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 de origen de datos de Tableau Online que muestra las tablas de la base de datos a la izquierda y el lienzo a la derecha con funcionalidad de arrastrar y soltar" border width="2277" height="1395" data-path="images/integrations/data-visualization/tableau_online_04.webp" />

<br />

Después de eso, solo queda hacer clic en "Publish As" en la esquina superior derecha, y deberías poder usar en Tableau Online el conjunto de datos recién creado como de costumbre.

NB: si quieres usar Tableau Online junto con Tableau Desktop y compartir conjuntos de datos de ClickHouse entre ambos, asegúrate de usar Tableau Desktop también con el conector MySQL predeterminado, siguiendo la guía de configuración que se muestra [aquí](https://www.tableau.com/support/drivers) si seleccionas MySQL en el menú desplegable origen de datos. Si tienes un Mac M1, consulta [este hilo de solución de problemas](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) para ver una solución alternativa para la instalación del controlador.

<div id="connecting-tableau-online-to-clickhouse-cloud-or-on-premise-setup-with-ssl">
  ## Conectar Tableau Online a ClickHouse (configuración en la nube o on-premise con SSL)
</div>

Como no es posible proporcionar los certificados SSL mediante el asistente de configuración de conexiones MySQL de Tableau Online,
la única opción es usar Tableau Desktop para configurar la conexión y después exportarla a Tableau Online. Aun así, el proceso es bastante sencillo.

Ejecute Tableau Desktop en un equipo con Windows o Mac y seleccione "Conectar" -> "A un servidor" -> "MySQL".
Es probable que antes tenga que instalar el driver de MySQL en su equipo.
Puede hacerlo siguiendo la guía de configuración que se muestra [aquí](https://www.tableau.com/support/drivers) si selecciona MySQL en el menú desplegable de fuente de datos.
Si tiene un Mac con M1, consulte [este hilo de resolución de problemas](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) para ver una solución alternativa para la instalación del 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="Interfaz de Tableau Desktop que muestra el menú Conectar con la opción MySQL resaltada" border width="735" height="659" data-path="images/integrations/data-visualization/tableau_desktop_01.webp" />

<br />

<Note>
  En la UI de configuración de la conexión MySQL, asegúrese de que la opción "SSL" esté habilitada.
  El certificado SSL de ClickHouse Cloud está firmado por [Let's Encrypt](https://letsencrypt.org/certificates/).
  Puede descargar este certificado raíz [aquí](https://letsencrypt.org/certs/isrgrootx1.pem).
</Note>

Introduzca las credenciales del usuario MySQL de su instancia de ClickHouse Cloud y la ruta al certificado raíz descargado.

<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="Cuadro de diálogo de conexión MySQL de Tableau Desktop con la opción SSL habilitada y campos para servidor, nombre de usuario, contraseña y certificado" border width="496" height="567" data-path="images/integrations/data-visualization/tableau_desktop_02.webp" />

<br />

Elija las tablas deseadas como de costumbre (igual que en Tableau Online)
y seleccione "Servidor" -> "Publicar origen de datos" -> 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 el menú Servidor con la opción Publicar origen de datos resaltada" border width="813" height="321" data-path="images/integrations/data-visualization/tableau_desktop_03.webp" />

<br />

IMPORTANTE: debe seleccionar "Contraseña incrustada" en las opciones de "Autenticación".

<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="Cuadro de diálogo de publicación de Tableau Desktop que muestra las opciones de Autenticación con Contraseña incrustada seleccionada" border width="775" height="643" data-path="images/integrations/data-visualization/tableau_desktop_04.webp" />

<br />

Además, elija "Actualizar libro de trabajo para usar el origen de datos publicado".

<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="Cuadro de diálogo de publicación de Tableau Desktop con la opción 'Actualizar libro de trabajo para usar el origen de datos publicado' marcada" border width="373" height="649" data-path="images/integrations/data-visualization/tableau_desktop_05.webp" />

<br />

Por último, haga clic en "Publicar" y el origen de datos con las credenciales incrustadas se abrirá automáticamente en Tableau Online.

<div id="known-limitations-clickhouse-2311">
  ## Limitaciones conocidas (ClickHouse 23.11)
</div>

Todas las limitaciones conocidas se han solucionado en ClickHouse `23.11`. Si encuentra cualquier otra incompatibilidad, no dude en [ponerse en contacto con nosotros](https://clickhouse.com/company/contact) o en crear una [nueva incidencia](https://github.com/ClickHouse/ClickHouse/issues).
