ClickHouse Cloud 配置
1
选择 Connect your app
创建 ClickHouse Cloud 服务后,在 
Connect your app 页面上,从下拉列表中选择 MySQL。
2
启用 MySQL 接口
切换开关,为此特定服务启用 MySQL 接口。
这会为该服务开放端口 
或者,如需为现有服务启用 MySQL 接口:
3306,并显示 MySQL 连接页面,其中包含你专属的 MySQL 用户名。
3
选择 Connect
确保你的服务处于 
Running 状态,然后点击你要为其启用 MySQL 接口的服务。
从左侧菜单中选择 “Connect”:
4
选择 MySQL
从 
Connect With 下拉列表中选择 MySQL。
5
启用 MySQL 接口
切换开关,为此特定服务启用 MySQL 接口。
这会为该服务开放端口
3306,并显示 MySQL 连接页面,其中包含你专属的 MySQL 用户名。
在 ClickHouse Cloud 中创建只读 MySQL 用户
mysql4<subdomain> 用户,该用户与默认用户使用相同的密码。
<subdomain> 部分对应你的 ClickHouse Cloud 主机名的第一部分。
这种用户名格式是为了兼容那些会建立安全连接、但在 TLS 握手中不包含 SNI (Server Name Indication) 数据的工具。
如果没有 SNI 信息,系统就无法进行正确的内部路由,因此嵌入用户名中的子域名提示会提供所需的路由信息。
MySQL 控制台客户端就是一个需要这种格式的工具示例。
对于
foobar.us-east1.aws.clickhouse.cloud 这样的 ClickHouse Cloud 主机名,<subdomain> 部分就是 foobar,自定义 MySQL 用户名可以是 mysql4foobar_team1 这样的形式。1
创建只读 settings profile
创建一个要应用于只读用户的 settings profile,
将
readonly setting 设为 1:2
创建新的只读 MySQL 用户
3
授予新用户访问所需表的权限
向新用户 授予 访问目标表或数据库所需的权限。
例如,如果你只想授予对 新创建的用户可用于通过 MySQL 接口连接到你的 ClickHouse Cloud 服务。
system.query_log 的访问权限:对于只读用户,请确保只向需要访问的表授予
SELECT 权限。在 ClickHouse Cloud 中排查多个 MySQL 用户相关问题
mysql4<subdomain>_<username> 格式,如上文所述。
本地部署 ClickHouse 服务器设置
config.xml 中添加一项配置之外
mysql_user 的一个配置示例,使用了生成的哈希值:
/etc/clickhouse-server/users.d/mysql_user.xml
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
mysql 可执行文件,就可以通过命令行测试连接。
使用上面的示例用户名 (mysql_user) 和密码 (LZOQYnqQN4L/T6L0) ,命令行如下所示:
config.xml 中,取消以下内容的注释,以监听所有地址:
将 Tableau Online 连接到 ClickHouse (本地部署且不使用 SSL)
从可用连接器列表中选择“MySQL”。
填写在设置 ClickHouse 时收集到的连接详细信息。
Tableau Online 会自动识别数据库结构,并提供可用表列表。将所需的表拖到右侧画布上。此外,还可以点击“Update Now”预览数据,并进一步调整自动识别出的字段类型或名称。
完成后,只需点击右上角的“Publish As”,即可像往常一样在 Tableau Online 中使用新创建的数据集。 注意:如果希望将 Tableau Online 与 Tableau Desktop 配合使用,并在两者之间共享 ClickHouse 数据集,请确保在 Tableau Desktop 中也使用默认的 MySQL 连接器,并按照从数据源下拉菜单中选择 MySQL 后 此处 显示的设置指南进行操作。如果使用的是 M1 Mac,请查看这篇故障排查讨论,了解驱动安装的替代方法。
将 Tableau Online 连接到 ClickHouse (Cloud 或本地部署,启用 SSL)
在 MySQL 连接设置 UI 中,请确保已启用 “SSL” 选项。
ClickHouse Cloud 的 SSL 证书由 Let’s Encrypt 签发。
你可以在这里下载该根证书。
像平常一样选择所需的表 (与 Tableau Online 中的操作类似) , 然后依次选择 “Server” -> “Publish Data Source” -> Tableau Cloud。
重要提示:你需要在 “Authentication” 选项中选择 “Embedded password”。
此外,选择 “Update workbook to use the 已发布数据源”。
最后,点击 “Publish”,嵌入了 credentials 的数据源会自动在 Tableau Online 中打开。
已知限制 (ClickHouse 23.11)
23.11 中修复。如果您遇到任何其他兼容性问题,请随时联系我们或提交一个新 issue。