使用 JDBC 需要借助 ClickHouse JDBC Bridge,因此你需要在本地机器上使用
clickhouse-local 将数据从你的数据库流式传输到 ClickHouse Cloud。详情请参阅文档 Migrate 部分中的 Using clickhouse-local 页面。在本地安装 ClickHouse JDBC Bridge
~/clickhouse-jdbc-bridge/config/datasources/mysql8.json 文件中:
在上面的配置文件中
- 你可以为数据源自由指定任意名称,这里我们使用的是
mysql8 - 在
jdbcUrl的值中,你需要将<host>和<port>替换为与你当前运行的 MySQL instance 对应的值,例如"jdbc:mysql://localhost:3306" - 你需要将
<username>和<password>替换为你的 MySQL credentials;如果你不使用密码,可以删除上面配置文件中的"password": "<password>"这一行 - 在
driverUrls的值中,我们只是指定了一个用于下载 MySQL JDBC 驱动当前版本的 URL。这样就可以了,ClickHouse JDBC Bridge 会自动下载该 JDBC 驱动 (到操作系统相关的目录中) 。
现在,我们已准备好启动 ClickHouse JDBC Bridge:
我们以前台模式启动了 ClickHouse JDBC Bridge。要停止该 Bridge,可将上方的 Unix shell 窗口切回前台,然后按
CTRL+C。在 ClickHouse 中使用 JDBC 连接
clickhouse-client 或 Play UI 中。
- jdbc 表函数:
这里将上面配置的命名数据源名称作为
jdbc 表函数的第一个参数。- JDBC 表引擎:
作为 jdbc engine 子句的第一个参数,我们使用了上面配置的命名数据源的名称ClickHouse JDBC engine 表的 schema 必须与所连接的 MySQL 表的 schema 保持一致,例如列名和顺序必须相同,列的数据类型也必须兼容
在外部安装 ClickHouse JDBC Bridge
- 按照本指南第 1 节所述步骤,在专用主机上安装、配置并运行 ClickHouse JDBC Bridge。
- 在每个 ClickHouse 主机上,将以下配置块添加到 ClickHouse 服务器配置中 (根据你选择的配置格式,使用 XML 或 YAML 版本之一) :
- XML
- YAML
- 你需要将
JDBC-Bridge-Host替换为专用 ClickHouse JDBC Bridge 主机的主机名或 IP 地址 - 这里指定的是默认的 ClickHouse JDBC Bridge 端口
9019;如果你为 JDBC Bridge 使用的是其他端口,则必须相应调整上述配置