在 ClickHouse 中集成 MySQL
本页介绍如何使用 MySQL 表引擎从 MySQL 表中读取数据。
注意
在 ClickHouse Cloud 中,也可以使用 MySQL ClickPipe(目前处于公开测试阶段),便捷地将 MySQL 表中的数据迁移到 ClickHouse。
使用 MySQL 表引擎将 ClickHouse 连接到 MySQL
MySQL 表引擎允许将 ClickHouse 连接到 MySQL。可以在 ClickHouse 或 MySQL 表中执行 SELECT 和 INSERT 语句。本文介绍 MySQL 表引擎的基本用法。
1. 配置 MySQL
- 在 MySQL 中创建一个数据库:
- 创建一个表:
- 插入示例数据行:
- 创建一个用于连接到 ClickHouse 的用户:
- 根据需要授予权限。(在本示例中,为
mysql_clickhouse用户授予了管理员权限。)
注意
如果您在 ClickHouse Cloud 中使用此功能,可能需要允许 ClickHouse Cloud 的 IP 地址访问您的 MySQL 实例。 有关出站流量的详细信息,请参阅 ClickHouse Cloud Endpoints API。
2. 在 ClickHouse 中定义一张表
- 现在让我们创建一个使用
MySQL表引擎的 ClickHouse 表:
最少需要的参数为:
| parameter | Description | example |
|---|---|---|
| host | 主机名或 IP | mysql-host.domain.com |
| database | MySQL 数据库名称 | db1 |
| table | MySQL 表名 | table1 |
| user | 连接到 MySQL 的用户名 | mysql_clickhouse |
| password | 连接到 MySQL 的密码 | Password123! |
注意
请参阅 MySQL table engine 文档页面以获取完整的参数列表。
3. 测试集成
- 在 MySQL 中插入一行示例数据:
- 请注意,来自 MySQL 表的现有行已经出现在 ClickHouse 表中,同时还有您刚刚添加的新行:
此时应能看到 4 行:
- 现在向 ClickHouse 表中插入一行数据:
- 注意 MySQL 中已出现一条新记录:
此时应能看到新行:
总结
MySQL 表引擎允许你连接 ClickHouse 与 MySQL,以实现数据的双向交换。有关更多详细信息,请务必查看 MySQL 表引擎 的文档页面。