跳转到主要内容
Looker Studio 可以通过 MySQL 接口,使用官方的 Google MySQL 数据源连接到 ClickHouse。

ClickHouse Cloud 配置

1

选择 Connect your app

创建 ClickHouse Cloud 服务后,在 Connect your app 页面中,从下拉菜单选择 MySQL。
2

启用 MySQL 接口

切换开关,为此特定服务启用 MySQL 接口。 这将为该服务开放端口 3306,并显示 MySQL 连接页面,其中包含你唯一的 MySQL 用户名。或者,如需为现有服务启用 MySQL 接口:
3

选择 Connect

确保你的服务处于 Running 状态,然后点击你要为其启用 MySQL 接口的服务。 从左侧菜单中选择 “Connect”:
4

选择 MySQL

Connect With 下拉菜单中选择 MySQL
5

启用 MySQL 接口

切换开关,为此特定服务启用 MySQL 接口。 这将为该服务开放端口 3306,并显示 MySQL 连接页面,其中包含你唯一的 MySQL 用户名。

在 ClickHouse Cloud 中创建只读 MySQL 用户

ClickHouse Cloud 会自动创建一个 mysql4<subdomain> 用户,该用户与默认用户使用相同的密码。 <subdomain> 部分对应你的 ClickHouse Cloud 主机名的第一部分。 这种用户名格式是为了兼容那些会建立安全连接、但在 TLS 握手中不包含 SNI (Server Name Indication) 数据的工具。 如果没有 SNI 信息,系统就无法进行正确的内部路由,因此嵌入用户名中的子域名提示会提供所需的路由信息。 MySQL 控制台客户端就是一个需要这种格式的工具示例。
建议的最佳实践是新建一个只读 MySQL 用户。
对于 foobar.us-east1.aws.clickhouse.cloud 这样的 ClickHouse Cloud 主机名,<subdomain> 部分就是 foobar,自定义 MySQL 用户名可以是 mysql4foobar_team1 这样的形式。
1

创建只读 settings profile

创建一个要应用于只读用户的 settings profile, 将 readonly setting 设为 1
CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1
2

创建新的只读 MySQL 用户

创建用户,名称需遵循以下格式:
mysql4<subdomain>_<username>
readonly_profile 应用于新用户,并确保密码采用 double SHA1 格式。例如:
CREATE USER mysql4foobar_readonly
IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
SETTINGS PROFILE 'readonly_profile';
3

授予新用户访问所需表的权限

向新用户 授予 访问目标表或数据库所需的权限。 例如,如果你只想授予对 system.query_log 的访问权限:
GRANT SELECT ON system.query_log TO mysql4foobar_readonly;
对于只读用户,请确保只向需要访问的表授予 SELECT 权限。
新创建的用户可用于通过 MySQL 接口连接到你的 ClickHouse Cloud 服务。

在 ClickHouse Cloud 中排查多个 MySQL 用户相关问题

如果您创建了一个新的 MySQL 用户,并在通过 MySQL CLI 客户端连接时看到以下错误:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54
在这种情况下,请确保用户名采用 mysql4<subdomain>_<username> 格式,如上文所述。

本地部署 ClickHouse server 的设置

请参阅官方文档 了解如何配置启用 MySQL 接口的 ClickHouse server。 除了在服务器的 config.xml 中添加一项配置之外
<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>
对于将使用 MySQL interface 的用户,还必须使用 Double SHA1 密码加密 在 shell 中生成一个经 Double SHA1 加密的随机密码:
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
输出应如下所示:
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
第一行是生成的密码,第二行是可用于配置 ClickHouse 的哈希值。 下面是 mysql_user 的一个配置示例,使用了生成的哈希值: /etc/clickhouse-server/users.d/mysql_user.xml
<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 哈希值。 此外,建议使用 use_mysql_types_in_show_columns 以便在 SHOW [FULL] COLUMNS 查询结果中显示 MySQL 原生类型,而不是 ClickHouse 类型, 这样 BI 工具在使用 MySQL 连接器时便能正确识别数据库 schema。 例如: /etc/clickhouse-server/users.d/mysql_user.xml
<profiles>
    <default>
        <use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
    </default>
</profiles>
或者将其分配给其他 profile,而不是默认 profile。 如果你有可用的 mysql 可执行文件,就可以通过命令行测试连接。 使用上面的示例用户名 (mysql_user) 和密码 (LZOQYnqQN4L/T6L0) ,命令行如下所示:
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 Server,使其监听所需的 IP 地址。例如,在 config.xml 中,取消以下内容的注释,以监听所有地址:
<listen_host>::</listen_host> 

将 Looker Studio 连接到 ClickHouse

首先,使用你的 Google 账号登录 https://lookerstudio.google.com,然后创建一个新的数据源:
搜索 Google 提供的官方 MySQL 连接器 (名称就是 MySQL) :
填写连接信息。请注意,MySQL 接口端口默认为 9004, 具体端口可能会因服务器配置而不同。
现在,你有两种从 ClickHouse 拉取数据的方法。首先,可以使用 Table Browser 功能:
或者,你也可以指定自定义查询来拉取数据:
最后,你应该可以看到自动识别出的表结构,并在必要时调整数据类型。
现在,你可以继续探索数据或创建新的报表了!

在 ClickHouse Cloud 中使用 Looker Studio

使用 ClickHouse Cloud 时,您需要先启用 MySQL 接口。您可以在连接对话框的 “MySQL” 选项卡中启用它。
在 Looker Studio UI 中,选择 “Enable SSL” 选项。ClickHouse Cloud 的 SSL 证书由 Let’s Encrypt 签发。您可以在这里下载该根证书。
其余步骤与上一节所列步骤相同。
最后修改于 2026年6月10日