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

> Tableau Online은 어디서나 더 빠르고 자신 있게 의사결정을 내릴 수 있도록 데이터의 힘을 활용합니다.

# 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은 공식 MySQL 데이터 소스를 사용해 MySQL 인터페이스를 통해 ClickHouse Cloud 또는 온프레미스 ClickHouse 환경에 연결할 수 있습니다.

<div id="clickhouse-cloud-setup">
  ## ClickHouse Cloud 설정
</div>

<Steps>
  <Step>
    #### `Connect your app` 선택

    ClickHouse Cloud 서비스를 생성한 후 `Connect your app` 화면의 드롭다운에서 MySQL을 선택합니다.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql1.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=2f44cca529d76149c5dd4573069af855" alt="MySQL 인터페이스 선택 드롭다운이 표시된 ClickHouse Cloud 자격 증명 화면" border width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
  </Step>

  <Step>
    #### MySQL 인터페이스 활성화

    이 특정 서비스에서 MySQL 인터페이스를 활성화하려면 스위치를 켭니다.
    그러면 이 서비스에 포트 `3306`이 노출되고, 고유한 MySQL 사용자 이름이 포함된 MySQL 연결 화면이 표시됩니다.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql2.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=e1caa8364c2bcf544492c0e8377e6dc7" alt="MySQL 인터페이스 활성화 토글과 연결 정보가 표시된 ClickHouse Cloud 화면" border width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />

    또는 기존 서비스에서 MySQL 인터페이스를 활성화하려면 다음과 같이 하십시오.
  </Step>

  <Step>
    #### `Connect` 선택

    서비스가 `Running` 상태인지 확인한 다음, MySQL 인터페이스를 활성화하려는 서비스를 클릭합니다.
    왼쪽 메뉴에서 "Connect"를 선택합니다:

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql3.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=b92958c170c39fbd884313f1f7a6c3d0" alt="Connect 옵션이 강조 표시된 ClickHouse Cloud 서비스 연결 화면" border width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
  </Step>

  <Step>
    #### `MySQL` 선택

    `Connect With` 드롭다운에서 `MySQL`을 선택합니다.

    <Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql4.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=152f4db09e451c302dc76d563ac414c7" alt="MySQL 옵션 선택이 표시된 ClickHouse Cloud 연결 화면" border width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
  </Step>

  <Step>
    #### MySQL 인터페이스 활성화

    이 특정 서비스에서 MySQL 인터페이스를 활성화하려면 스위치를 켭니다.
    그러면 이 서비스에 포트 `3306`이 노출되고, 고유한 MySQL 사용자 이름이 포함된 MySQL 연결 화면이 표시됩니다.
  </Step>
</Steps>

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql5.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=4d98d6d46dd965ef5aab8b5d388c11c6" alt="연결 정보가 표시되도록 MySQL 인터페이스가 활성화된 ClickHouse Cloud 연결 화면" border width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## ClickHouse Cloud에서 읽기 전용 MySQL 사용자 생성하기
</div>

ClickHouse Cloud는 기본 사용자와 동일한 비밀번호를 사용하는 `mysql4<subdomain>` 사용자를 자동으로 생성합니다.
`<subdomain>` 부분은 ClickHouse Cloud 호스트명의 첫 번째 부분에 해당합니다.

이 사용자 이름 형식은 TLS 핸드셰이크에 [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) 데이터를 포함하지 않으면서 보안 연결을 설정하는 도구와의 호환성을 위해 필요합니다.
SNI 정보가 없으면 시스템이 내부 라우팅을 올바르게 수행할 수 없으므로, 사용자 이름에 포함된 서브도메인 힌트가 필요한 라우팅 정보를 제공합니다.
MySQL 콘솔 클라이언트가 이러한 도구의 예입니다.

<Tip>
  권장되는 모범 사례는 새로운 읽기 전용 MySQL 사용자를 생성하는 것입니다.
</Tip>

<Note>
  ClickHouse Cloud 호스트명이 `foobar.us-east1.aws.clickhouse.cloud`인 경우 `<subdomain>` 부분은 `foobar`이며, 사용자 지정 MySQL 사용자 이름은 `mysql4foobar_team1`과 같은 형식이 될 수 있습니다.
</Note>

<Steps>
  <Step>
    #### 읽기 전용 설정 프로필 만들기

    읽기 전용 사용자에게 적용할 [설정 프로필](/ko/reference/statements/create/settings-profile)을 만들고
    `readonly` 설정을 `1`로 지정합니다:

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

  <Step>
    #### 새 읽기 전용 MySQL 사용자 만들기

    다음 형식을 따르는 이름으로 [사용자를 생성](/ko/reference/statements/create/user)합니다:

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

    새 사용자에 `readonly_profile`을 적용하고 비밀번호가 double SHA1 형식인지 확인합니다. 예를 들면 다음과 같습니다:

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

  <Step>
    #### 새 사용자에게 필요한 권한 부여하기

    원하는 테이블 또는 데이터베이스에 접근할 수 있도록 새 사용자에게 필요한 권한을 [부여](/ko/reference/statements/grant)합니다.
    예를 들어 `system.query_log`에만 접근 권한을 부여하려는 경우 다음과 같습니다:

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

    <Note>
      읽기 전용 사용자에게는 접근하려는 테이블에 대해 `SELECT` 권한만 부여하십시오.
    </Note>

    새로 생성한 사용자는 MySQL 인터페이스를 통해 ClickHouse Cloud 서비스에 연결하는 데 사용할 수 있습니다.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### ClickHouse Cloud에서 여러 MySQL 사용자 문제 해결
</div>

새 MySQL 사용자를 생성한 뒤 MySQL CLI 클라이언트로 연결할 때 다음과 같은 오류가 표시되면:

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

이 경우 사용자 이름이 [위](#creating-multiple-mysql-users-in-clickhouse-cloud)에서 설명한 대로 `mysql4<subdomain>_<username>` 포맷을 따르는지 확인하십시오.

<div id="on-premise-clickhouse-server-setup">
  ## 온프레미스 ClickHouse 서버 설정
</div>

MySQL 인터페이스가 활성화된 ClickHouse 서버를 설정하는 방법은
[공식 문서](/ko/concepts/features/interfaces/mysql)를 참조하십시오.

서버의 `config.xml`에 항목을 추가하는 것 외에

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

또한 MySQL interface를 사용할 사용자에게는
[Double SHA1 비밀번호 암호화](/ko/concepts/features/configuration/settings/settings-users#user-namepassword)를
사용하는 것이 *필수*입니다.

셸에서 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 '-'
```

출력은 다음과 같이 표시됩니다:

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

첫 번째 줄은 생성된 비밀번호이고, 두 번째 줄은 ClickHouse 구성에 사용할 수 있는 hash입니다.

다음은 생성된 hash를 사용하는 `mysql_user`의 예시 구성입니다:

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

`password_double_sha1_hex` 항목을 직접 생성한 Double SHA1 해시로 대체하십시오.

또한 `SHOW [FULL] COLUMNS` 쿼리 결과에서 ClickHouse 타입 대신 네이티브 MySQL 타입을 표시하도록 `use_mysql_types_in_show_columns`를 사용하는 것이 좋습니다.
이렇게 하면 MySQL connector를 사용할 때 BI 도구가 데이터베이스 스키마를 올바르게 파악할 수 있습니다.

예시:

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

또는 기본 프로필 대신 다른 프로필에 할당할 수 있습니다.

`mysql` 실행 파일을 사용할 수 있으면 명령줄에서 연결을 테스트할 수 있습니다.
위의 예시 사용자 이름(`mysql_user`)과 비밀번호(`LZOQYnqQN4L/T6L0`)를 사용하면 명령줄은 다음과 같습니다.

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

마지막으로, ClickHouse 서버가 원하는 IP 주소에서 연결을 수신하도록 구성합니다. 예를 들어, 모든 주소에서 수신하려면 `config.xml`에서 다음 항목의 주석을 해제하세요:

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

<div id="connecting-tableau-online-to-clickhouse-on-premise-without-ssl">
  ## SSL 없이 ClickHouse에 Tableau Online 연결하기(온프레미스)
</div>

Tableau Cloud 사이트에 로그인한 후 새 Published 데이터 소스를 추가합니다.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_online_01.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=0bba2ab6b524e720c42146f0c1d36a0e" alt="'New' 버튼으로 게시된 데이터 소스를 생성하는 Tableau Online 인터페이스" border width="1627" height="1024" data-path="images/integrations/data-visualization/tableau_online_01.webp" />

<br />

사용 가능한 커넥터 목록에서 "MySQL"을 선택합니다.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_online_02.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=8b9ac143c66e69345b43c061c0d32701" alt="MySQL 옵션이 강조 표시된 Tableau Online 커넥터 선택 화면" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_02.webp" />

<br />

ClickHouse 설정 과정에서 확인한 연결 정보를 입력합니다.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_online_03.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=3688db63d5e2f1733e9e06daac1496c3" alt="server, port, database 및 자격 증명 필드가 있는 Tableau Online MySQL 연결 구성 화면" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_03.webp" />

<br />

Tableau Online은 데이터베이스를 분석하여 사용 가능한 테이블 목록을 표시합니다. 원하는 테이블을 오른쪽 캔버스로 끌어다 놓습니다. 또한 "Update Now"를 클릭해 데이터를 미리 보고, 자동으로 인식된 필드 타입이나 이름을 세부 조정할 수도 있습니다.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_online_04.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=213ef53e5c9dd2831e18ce0d91bd259a" alt="왼쪽에 데이터베이스 테이블이, 오른쪽에 드래그 앤 드롭 기능이 있는 캔버스가 표시된 Tableau Online 데이터 소스 페이지" border width="2277" height="1395" data-path="images/integrations/data-visualization/tableau_online_04.webp" />

<br />

그다음에는 오른쪽 상단의 "Publish As"를 클릭하기만 하면 되며, 새로 생성한 데이터셋을 Tableau Online에서 평소처럼 사용할 수 있습니다.

참고: Tableau Online을 Tableau Desktop과 함께 사용하면서 ClickHouse 데이터셋을 서로 공유하려면, 데이터 소스 드롭다운에서 MySQL을 선택했을 때 [여기](https://www.tableau.com/support/drivers)에 표시되는 설정 가이드를 따라 Tableau Desktop에서도 기본 MySQL 커넥터를 사용해야 합니다. M1 Mac을 사용 중이라면 드라이버 설치 우회 방법은 [이 문제 해결 스레드](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac)에서 확인하십시오.

<div id="connecting-tableau-online-to-clickhouse-cloud-or-on-premise-setup-with-ssl">
  ## Tableau Online을 ClickHouse에 연결하기(SSL을 사용하는 Cloud 또는 온프레미스 설정)
</div>

Tableau Online의 MySQL 연결 설정 마법사에서는 SSL 인증서를 제공할 수 없으므로,
Tableau Desktop에서 연결을 설정한 다음 Tableau Online으로 내보내는 방법만 사용할 수 있습니다. 다만 이 과정은 매우 간단합니다.

Windows 또는 Mac 컴퓨터에서 Tableau Desktop을 실행한 다음 "Connect" -> "To a Server" -> "MySQL"을 선택하십시오.
대부분 먼저 컴퓨터에 MySQL 드라이버를 설치해야 합니다.
데이터 소스 드롭다운에서 MySQL을 선택하면 [여기](https://www.tableau.com/support/drivers)에 표시되는 설정 가이드를 따라 설치할 수 있습니다.
M1 Mac을 사용하는 경우 드라이버 설치 우회 방법은 [이 문제 해결 스레드](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac)를 확인하십시오.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_desktop_01.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=8ca19515f1a3ae3cf2b459d3961abb8a" alt="MySQL 옵션이 강조 표시된 Connect 메뉴를 보여주는 Tableau Desktop 인터페이스" border width="735" height="659" data-path="images/integrations/data-visualization/tableau_desktop_01.webp" />

<br />

<Note>
  MySQL 연결 설정 UI에서 "SSL" 옵션이 활성화되어 있는지 확인하십시오.
  ClickHouse Cloud의 SSL 인증서는 [Let's Encrypt](https://letsencrypt.org/certificates/)에서 서명한 인증서입니다.
  이 루트 인증서는 [여기](https://letsencrypt.org/certs/isrgrootx1.pem)에서 다운로드할 수 있습니다.
</Note>

ClickHouse Cloud 인스턴스의 MySQL 사용자 자격 증명과 다운로드한 루트 인증서의 경로를 입력하십시오.

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_desktop_02.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=daf204492f91fdf54465792def9cc1bf" alt="SSL 옵션이 활성화되어 있고 server, username, password 및 certificate 입력 필드가 있는 Tableau Desktop MySQL 연결 대화 상자" border width="496" height="567" data-path="images/integrations/data-visualization/tableau_desktop_02.webp" />

<br />

평소처럼 원하는 테이블을 선택하고(Tableau Online과 비슷함),
"Server" -> "Publish 데이터 소스" -> Tableau Cloud를 선택하십시오.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_desktop_03.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=129ae7087aef871822a87a320834ed17" alt="Publish 데이터 소스 옵션이 강조 표시된 Server 메뉴를 보여주는 Tableau Desktop" border width="813" height="321" data-path="images/integrations/data-visualization/tableau_desktop_03.webp" />

<br />

중요: "Authentication" 옵션에서 "Embedded password"를 선택해야 합니다.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_desktop_04.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=335bd691d06cbb85e1f6b9e653d41433" alt="Embedded password가 선택된 Authentication 옵션을 보여주는 Tableau Desktop 게시 대화 상자" border width="775" height="643" data-path="images/integrations/data-visualization/tableau_desktop_04.webp" />

<br />

추가로 "Update workbook to use the published data source"를 선택하십시오.

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/tableau_desktop_05.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=275e09d373302fbf53355f8300cfa256" alt="'Update workbook to use the published data source' 옵션이 선택된 Tableau Desktop 게시 대화 상자" border width="373" height="649" data-path="images/integrations/data-visualization/tableau_desktop_05.webp" />

<br />

마지막으로 "Publish"를 클릭하면, 자격 증명이 포함된 데이터 소스가 Tableau Online에서 자동으로 열립니다.

<div id="known-limitations-clickhouse-2311">
  ## 알려진 제한 사항 (ClickHouse 23.11)
</div>

알려진 모든 제한 사항은 ClickHouse `23.11`에서 해결되었습니다. 그 밖에 다른 호환성 문제가 있으면 [문의해 주십시오](https://clickhouse.com/company/contact) 또는 [새 이슈](https://github.com/ClickHouse/ClickHouse/issues)를 생성해 주십시오.
