OceanBase 数据库 MySQL 租户至 MySQL 数据库的同步 DDL

本文为您介绍迁移 OceanBase 数据库 MySQL 租户的数据至 MySQL 数据库时,支持的同步 DDL。

同步 DDL 支持的范围

  • 创建表 CREATE TABLE

    说明

    不支持 CREATE TABLE AS SELECT

  • 删除表 DROP TABLE

  • 清空表 TRUNCATE TABLE

  • 修改列 ALTER TABLE CHANGE COLUMN

    说明

    仅支持修改列至更大的长度,不支持修改列的类型。

  • 添加列 ALTER TABLE ADD COLUMN

  • 修改列的默认值 ALTER TABLE ALTER COLUMN SET DEFAULTALTER TABLE ALTER COLUMN DROP DEFAULT

  • 删除列 ALTER TABLE DROP COLUMN

  • 新建索引 CREATE INDEXALTER TABLE ADD INDEX

  • 删除索引 DROP INDEXALTER TABLE DROP INDEX

同步 DDL 的使用限制

  • 如果需要同步的表涉及支持范围外的 DDL,数据迁移项目可能会中断并造成数据问题,且无法恢复。

  • 不能频繁对一张表进行 DDL 操作。当 Store 处理完当前 DDL 后(根据位点判断),再进行下一个 DDL。否则 Store 可能异常退出或造成数据问题,且无法恢复。

  • 新建 Store 前的一段时间和启动过程中,需要确保无 DDL。如果是回拉,回拉点至当前时间保证无 DDL。否则 Store 可能异常退出或造成数据问题,且无法恢复。

  • RENAME TABLE 前后的表名,必须全在需要同步的表中,或者全不在需要同步的表中。

  • 开启增量 DDL 后,DROP INDEX 命令会无差别执行,可能导致目标端索引丢失。