MaterializedMySQL引擎 支持的数据类型 MySQL 云数据库ClickHouse TINY Int8 SHORT Int16 INT24 Int32 LONG UInt32 LONGLONG UInt64 FLOAT Float32 DOUBLE Float64 DECIMAL, NEWDECIMAL Decimal DATE, NEWDATE Date DATETIME, TIMESTAMP DateTime DATETIME2, TIMESTAMP2 DateTime64 YEAR UInt16 TIME Int64 ENUM Enum STRING String VARCHAR, VARSTRING String BLOB String GEOMETRY String BINARY FixedString BIT UInt64 SET UInt64 MySQL中的Time 类型,会被云数据库ClickHouse转换成微秒来存储。如果MySQL表包含此类类型的列,云数据库ClickHouse抛出异常"Unhandled data type"并停止复制。 规范和推荐用法 兼容性限制 除了数据类型的限制之外,还有一些限制与 MySQL数据库相比有所不同,这应该在复制之前解决: MySQL 中的每个表都应该包含 PRIMARY KEY。 对于表的复制,那些包含 ENUM 字段值超出范围的行(在 ENUM 签名中指定)将不起作用。 DDL Queries MySQL DDL 语句会被转换成对应的云数据库ClickHouse DDL 语句,比如: (ALTER, CREATE, DROP, RENAME). 如果云数据库ClickHouse 无法解析某些语句DDL 操作,则会跳过。 数据复制 MaterializedMySQL不支持直接的 INSERT, DELETE 和 UPDATE 查询。然而,它们在数据复制方面得到了支持: MySQL INSERT查询被转换为 sign1的INSERT查询。 MySQL DELETE查询被转换为 INSERT,并且 sign1。 如果主键被修改了,MySQL的 UPDATE 查询将被转换为 INSERT 带 sign1 和INSERT 带有sign1;如果主键没有被修改,则转换为 INSERT和 sign1。