Looker Studio
Looker Studio 可以通过 MySQL 接口使用官方 Google MySQL 数据源连接到 ClickHouse。
ClickHouse Cloud 设置
启用 MySQL 接口
切换开关以启用此特定服务的 MySQL 接口。
这将为该服务暴露端口 3306
,并提示您输入包含您唯一 MySQL 用户名的 MySQL 连接屏幕。

另外,为了为现有服务启用 MySQL 接口:
启用 MySQL 接口
切换开关以启用此特定服务的 MySQL 接口。
这将为该服务暴露端口 3306
,并提示您输入包含您唯一 MySQL 用户名的 MySQL 连接屏幕。

在 ClickHouse Cloud 中创建只读 MySQL 用户
ClickHouse Cloud 自动创建一个 mysql4<subdomain>
用户,该用户与默认用户共享相同的密码。
<subdomain>
部分对应于您 ClickHouse Cloud 主机名的第一部分。
这种用户名格式对于兼容那些建立安全连接但在 TLS 握手中未包含 SNI (服务器名称指示) 数据的工具是必需的。 没有 SNI 信息,系统无法执行正确的内部路由,因此嵌入在用户名中的子域提示提供了必要的路由信息。 MySQL 控制台客户端就是一个需要此信息的工具的例子。
推荐的最佳实践是创建一个新的只读 MySQL 用户。
对于像 foobar.us-east1.aws.clickhouse.cloud
的 ClickHouse Cloud 主机名,<subdomain>
部分等于 foobar
,那么自定义 MySQL 用户名可以是 mysql4foobar_team1
。
在 ClickHouse Cloud 中故障排除多个 MySQL 用户
如果您创建了一个新的 MySQL 用户,并且在通过 MySQL CLI 客户端连接时看到以下错误:
在这种情况下,请确保用户名遵循 mysql4<subdomain>_<username>
格式,如上所述 (上文)。
本地 ClickHouse 服务器设置
请参阅 官方文档 关于如何设置一个启用 MySQL 接口的 ClickHouse 服务器。
除了在服务器的 config.xml
中添加条目
之外,还必须使用 双 SHA1 密码加密 为将要使用 MySQL 接口的用户。
从命令行生成一个使用双 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 Cloud 中使用 Looker Studio
使用 ClickHouse Cloud 时,您需要首先启用 MySQL 接口。您可以在连接对话框的 "MySQL" 选项卡中完成此操作。

在 Looker Studio 用户界面中,选择 "启用 SSL" 选项。ClickHouse Cloud 的 SSL 证书由 Let's Encrypt 签发。您可以在 此处 下载此根证书。

其余步骤与前面部分列出的步骤相同。