跳到主要内容
跳到主要内容

Tableau Online

Tableau Online 可以通过 MySQL 接口连接 ClickHouse 云或本地 ClickHouse 设置,使用官方的 MySQL 数据源。

ClickHouse 云设置


  1. 创建 ClickHouse Cloud 服务后,在 Connect your app 屏幕上,从下拉菜单中选择 MySQL。

Credentials screen - Prompt
  1. 切换开关以启用此特定服务的 MySQL 接口。这将为此服务暴露 3306 端口,并提示您显示包含您唯一的 MySQL 用户名的 MySQL 连接屏幕。
Credentials screen - Enabled MySQL

或者,要为现有服务启用 MySQL 接口:

  1. 确保您的服务处于 Running 状态,然后单击您想要启用 MySQL 接口的服务。从左侧菜单中选择 "Connect":

Connection screen - Prompt MySQL

  1. Connect With 下拉菜单中选择 MySQL。

Connection screen - Prompt MySQL
  1. 切换开关以启用此特定服务的 MySQL 接口。这将为此服务暴露 3306 端口,并提示您显示包含您唯一的 MySQL 用户名的 MySQL 连接屏幕。
Connection screen - MySQL Enabled

在 ClickHouse Cloud 中创建多个 MySQL 用户

默认情况下,存在一个内置的 mysql4<subdomain> 用户,其密码与 default 用户相同。<subdomain> 部分是您 ClickHouse Cloud 主机名的第一部分。此格式对于使用实现安全连接的工具是必要的,但这些工具在其 TLS 握手中不提供 SNI 信息,这使得在没有额外提示的情况下进行内部路由变得不可能(MySQL 控制台客户端就是其中一个这样的工具)。

因此,我们 强烈推荐 在创建新用户时遵循 mysql4<subdomain>_<username> 格式,该用户将用于 MySQL 接口,其中 <subdomain> 是识别您的 Cloud 服务的提示,<username> 是您选择的任意后缀。

提示

对于 ClickHouse Cloud 主机名如 foobar.us-east1.aws.clickhouse.cloud<subdomain> 部分等于 foobar,自定义 MySQL 用户名可以是 mysql4foobar_team1

如果您需要为 MySQL 接口创建额外用户(例如,您需要应用额外设置),可以执行以下操作:

  1. 可选 - 创建一个 settings profile 以应用于您的自定义用户。例如,创建 my_custom_profile,其中包含在我们稍后连接所创建的用户时默认应用的额外设置:

    prefer_column_name_to_alias 仅用作示例,您可以在其中使用其他设置。

  2. 使用以下格式 创建用户mysql4<subdomain>_<username>见上文)。密码必须是双 SHA1 格式。例如:

    或者,如果您想为此用户使用自定义配置文件:

    其中 my_custom_profile 是您之前创建的配置文件的名称。

  3. Grant 新用户与所需表或数据库互动的必要权限。例如,如果您想仅授予对 system.query_log 的访问权限:

  4. 使用创建的用户通过 MySQL 接口连接到您的 ClickHouse Cloud 服务。

处理 ClickHouse Cloud 中的多个 MySQL 用户问题

如果您创建了一个新的 MySQL 用户,并且在通过 MySQL CLI 客户端连接时看到以下错误:

在这种情况下,请确保用户名遵循 mysql4<subdomain>_<username> 格式,如前所述(见上文)。

本地 ClickHouse 服务器设置

请参考 官方文档 了解如何设置启用 MySQL 接口的 ClickHouse 服务器。

除了在服务器的 config.xml 中添加一个条目

还需要对将要使用 MySQL 接口的用户使用 双重 SHA1 密码加密

从 shell 生成经过双重 SHA1 加密的随机密码:

输出应如下所示:

第一行是生成的密码,第二行是我们可以用来配置 ClickHouse 的哈希。

以下是使用生成的哈希的 mysql_user 配置示例:

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

用您自己生成的双重 SHA1 哈希替换 password_double_sha1_hex 条目。

此外,建议使用 use_mysql_types_in_show_columnsSHOW [FULL] COLUMNS 查询结果中显示原生 MySQL 类型,而不是 ClickHouse 类型,这样 BI 工具在使用 MySQL 连接器时可以正确查看数据库模式。

例如:

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

或者将其分配给不同的配置文件,而不是默认配置文件。

如果您有可用的 mysql 二进制文件,可以从命令行测试连接。 使用上述示例用户名 (mysql_user) 和密码 (LZOQYnqQN4L/T6L0) 的命令行为:

最后,配置 ClickHouse 服务器监听所需的 IP 地址。 例如,在 config.xml 中,取消注释以下内容以侦听所有地址:

将 Tableau Online 连接到 ClickHouse(无 SSL 的本地设置)

登录到您的 Tableau Cloud 站点,并添加一个新的已发布数据源。

创建一个新的已发布数据源

从可用连接器列表中选择 "MySQL"。

选择 MySQL 连接��器

指定您在 ClickHouse 设置期间收集的连接详情。

指定您的连接详情

Tableau Online 将会探测数据库并提供可用表的列表。将所需的表拖到右侧的画布上。此外,您可以点击 "立即更新" 以预览数据,并微调探测到的字段类型或名称。

选择要使用的表

之后,剩下的只是点击右上角的 "以此发布" ,您就可以像往常一样在 Tableau Online 中使用新创建的数据集。

注意:如果您想将 Tableau Online 与 Tableau Desktop 结合使用并在两者之间共享 ClickHouse 数据集,请确保您也使用默认 MySQL 连接器的 Tableau Desktop,遵循选择 MySQL 从数据源下拉菜单中显示的 这里 的设置指南。如果您有 M1 Mac,检查 此故障排除线程 获取驱动安装的变通方法。

将 Tableau Online 连接到 ClickHouse(带 SSL 的云或本地设置)

由于无法通过 Tableau Online MySQL 连接设置向导提供 SSL 证书, 唯一的方法是使用 Tableau Desktop 设置连接,然后将其导出到 Tableau Online。然而,这个过程相对简单。

在 Windows 或 Mac 机器上运行 Tableau Desktop,选择 "连接" -> "到服务器" -> "MySQL"。 在此之前,可能需要先在您的机器上安装 MySQL 驱动程序。 您可以通过遵循选择 MySQL 从数据源下拉菜单中显示的 这里 的设置指南来完成此操作。 如果您有 M1 Mac,检查 此故障排除线程 获取驱动安装的变通方法。

创建一个新的数据源
备注

在 MySQL 连接设置 UI 中,确保 "SSL" 选项已启用。 ClickHouse Cloud 的 SSL 证书由 Let's Encrypt 签署。 您可以 在这里 下载此根证书。

提供您的 ClickHouse Cloud 实例 MySQL 用户凭据及下载的根证书的路径。

指定您的凭据

像往常一样选择所需的表(与 Tableau Online 类似), 然后选择 "服务器" -> "发布数据源" -> Tableau Cloud。

发布数据源

重要:您需要在 "身份验证" 选项中选择 "嵌入密码"。

数据源发布设置 - 嵌入您的凭据

此外,选择 "更新工作簿以使用已发布的数据源"。

数据源发布设置 - 更新工作簿以供在线使用

最后,点击 "发布",您的数据源和嵌入凭据将自动在 Tableau Online 中打开。

已知限制(ClickHouse 23.11)

在 ClickHouse 23.11 中修复了所有已知限制。如果您遇到其他不兼容问题,请不要犹豫 联系我们 或创建 新问题