注意:您可能需要授权 ClickHouse Cloud 访问您的 MySQL 实例。ClickHouse Cloud 出站 IP 地址的完整列表可 在此处 查看。
使用 MySQL 表函数
您可以使用 MySQL 表函数查询远程 MySQL 表。
SELECT * FROM mysql('<mysql_host>:<port>', '<database>', '<table>', '<user>', '<password>');
创建 MySQL 表而不提供模式
您也可以使用 ClickHouse Cloud 服务中的 PostgreSQL 表引擎创建表,而无需使用 CREATE TABLE AS
语法指定模式。当 ClickHouse 在本地创建表时,MySQL 中的类型将映射到等效的 ClickHouse 类型。
CREATE TABLE mycountries AS mysql('<mysql_host>:<port>', '<database>', '<table>', '<user>', '<password>');
注意:您可以使用设置
external_table_functions_use_nulls = 0
以确保空值以其默认值(而不是空值)表示。如果设置为 1(默认值),ClickHouse 将为每一列创建可为空的变体。
创建具有自定义模式的 MySQL 表
您也可以选择通过指定自定义模式在 ClickHouse 服务中使用 MySQL 表引擎创建表。
CREATE TABLE default.mysql_table
(
`float_nullable` Nullable(Float32),
`str` String,
`int_id` Int32
)
ENGINE = mysql('<mysql_host>:<port>', '<database>', '<table>', '<user>', '<password>')