Looker Studio
Looker Studio 可以通过官方的 Google MySQL 数据源使用 MySQL 接口连接到 ClickHouse。
ClickHouse 云设置
- 创建 ClickHouse Cloud 服务后,在
Connect your app
屏幕上,从下拉菜单中选择 MySQL。

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

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

- 从
Connect With
下拉菜单中选择 MySQL。

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

在 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 接口创建额外用户(例如,您需要应用额外设置),可以执行以下操作:
-
可选 - 创建一个 settings profile 以应用于您的自定义用户。例如,创建
my_custom_profile
,其中包含在我们稍后连接所创建的用户时默认应用的额外设置:prefer_column_name_to_alias
仅用作示例,您可以在其中使用其他设置。 -
使用以下格式 创建用户:
mysql4<subdomain>_<username>
(见上文)。密码必须是双 SHA1 格式。例如:或者,如果您想为此用户使用自定义配置文件:
其中
my_custom_profile
是您之前创建的配置文件的名称。 -
Grant 新用户与所需表或数据库互动的必要权限。例如,如果您想仅授予对
system.query_log
的访问权限: -
使用创建的用户通过 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_columns
在 SHOW [FULL] COLUMNS
查询结果中显示原生 MySQL 类型,而不是 ClickHouse 类型,这样 BI 工具在使用 MySQL 连接器时可以正确查看数据库模式。
例如:
/etc/clickhouse-server/users.d/mysql_user.xml
或者将其分配给不同的配置文件,而不是默认配置文件。
如果您有可用的 mysql
二进制文件,可以从命令行测试连接。
使用上述示例用户名 (mysql_user
) 和密码 (LZOQYnqQN4L/T6L0
) 的命令行为:
最后,配置 ClickHouse 服务器监听所需的 IP 地址。 例如,在 config.xml
中,取消注释以下内容以侦听所有地址:
连接 Looker Studio 到 ClickHouse
首先,使用你的 Google 账号登录 https://lookerstudio.google.com 并创建一个新的数据源:

搜索 Google 提供的官方 MySQL 连接器(名为 MySQL):

指定你的连接详细信息。请注意,MySQL 接口的默认端口为 9004,具体可能根据你的服务器配置不同而有所变化。

现在,你有两个选项来从 ClickHouse 获取数据。首先,你可以使用表浏览器功能:

或者,你可以指定自定义查询来获取数据:

最后,你应该能够看到已检查的表结构,并在必要时调整数据类型。

现在你可以继续探索你的数据或创建新的报告!
在 ClickHouse 云中使用 Looker Studio
在使用 ClickHouse 云时,你需要先启用 MySQL 接口。你可以在连接对话框的 "MySQL" 标签中进行设置。

在 Looker Studio UI 中,选择 "启用 SSL" 选项。ClickHouse 云的 SSL 证书由 Let's Encrypt 签署。你可以在 这里 下载这个根证书。

其余的步骤与上面前一部分所列相同。