数据库传输服务 DTS 创建或配置 MySQL 的迁移或同步任务时,会先对数据库进行各项检查。本文介绍检查项的详细信息。
说明
预检查的检查结果等级包含 Error 和 Warning,具体如下所示:
检查项 | 数据库类型 | 检查范围 | 级别 | 检查内容 | 备注 |
---|---|---|---|---|---|
目标库 ReadOnly 配置检查 | 目标库 |
| Error | 检查目标数据库的 ReadyOnly 配置是否满足迁移或同步要求。 | 当 ReadOnly 中的参数取值满足以下任意条件时,则预检查不通过:
|
目标库触发器检查 | 目标库 |
| Warning | 检查目标库是否存在触发器。 | 无 |
目标表/数据库存在性检测 | 目标库 |
| Error | 检查目标实例的库存在性是否符合预期。 | 当选择全量迁移但未选择结构迁移,或选择全量初始化但未选择结构初始化时,若目标库表不存在对应结构,可能会导致迁移或初始化失败。 |
| Warning | 检查目标实例的表存在性是否符合预期。 | 当选择了增量迁移或同步但未选择结构迁移或初始化时,若目标库表不存在对应结构,可能会导致迁移或同步失败。 说明 您可以通过增量 DDL 的方式进行结构迁移或初始化。 | ||
目标库表权限检测 | 目标库 |
| Error | 检查目标实例的账号权限是否满足迁移或同步要求。 | 迁移或同步的类型不同,需要的权限也不同,其中:
|
检查 |
|
| Warning | 检查 InnoDB 严格模式设置是否一致 | 无 |
检查 |
|
| Error | 检查源库和目标库 | 无 |
检查 |
|
| Warning | 检查源库和目标库的 | 无 |
账号存在性检查 |
| 用户迁移 | Warning | 检查源库中待迁移的账号是否已存在于目标库中。 | 无 |
源端和目标库表名大小写敏感性检查 |
|
| Warning | 检查源库和目标库的 | 无 |
检查事务隔离级别(tx_isolation)是否一致 |
|
| Warning | 检查事务隔离级别是否一致。 | 无 |
检查元数据的 Definer 是否存在 |
|
| Warning | 检查视图、存储过程、函数、触发器的 Definer 是否在目标库存在 | 结构 Definer 不存在可能导致迁移结构后不可用。 |
数据库版本检查 |
|
| Error | 检查源库和目标库版本是否已被支持。 | 源库和目标库版本均需大于 MySQL 5.5。 |
数据库连通性检查 |
|
| Error | 检查数据传输服务器是否能连通源库和目标库。 | 无 |
检查被迁移表外键依赖 |
|
| Warning | 检查源库中待迁移或同步表外键所依赖的表是否存在或在迁移同步范围内。 | 无 |
账号迁移依赖检查 |
| 用户迁移 | Warning | 检查源库账号所有授权的结构是否已迁移至目标库。 | 无 |
数据库主版本检测 |
|
| Warning | 检查源库和目标库主版本是否一致。 | 无 |
源库 ServerID 检查 | 源库 |
| Warning | 检查源库 ServerID 是否为 1。 | 如果源库 ServerID 为 1,系统将无法确认是否配置 ServerID,需要您自行确认。 |
源库 | 源库 |
| Warning | 检查源数据库实例的参数 |
|
| Error |
| |||
源库 GIPK 检查 | 源库 |
| Warning | 检查源数据库 GIPK 是否开启。 | 无 |
检查源库表是否包含主键 | 源库 |
| Warning | 检查源数据库的表是否包含主键。无主键可能会引发数据不一致行为, 需添加主键。 | 无 |
源表存储引擎检查 | 源库 |
| Warning | 检查源库中待迁移或同步的表是否使用的是 InnoDB 引擎。 |
|
结构迁移 | Warning | 检查其他非 InnoDB 引擎的表,在结构迁移或初始化时是否会自动转为 InnoDB 引擎。 | |||
源端 Binlog 开启检查 | 源库 |
| Error | 检查源库是否开启 Binlog。 | Binlog 参数需同时满足如下要求:
|
检查源库 | 源库 |
| Warning | 检查源库 | 无 |
源表库权限检查 | 源库 |
| Error | 检查源数据库的账号权限是否满足迁移、同步或订阅的要求。 |
|
检查源端是否具有 | 源库 |
| Error | 检查源库是否有 | 源库需具备 |
检查源端是否具有 | 源库 |
| Warning | 检查源库是否有 | 源库需具备 |
目标库 EventScheduler 配置检查 | 目标库 | 结构迁移 | Warning | 检查目标数据库的 EventScheduler 配置是否符合预期。当 event_scheduler 设置为 ON 时,事件迁移后不会被执行。 | 当迁移类型选择了结构迁移且需要迁移事件时,需检查该检查项。 |
目标库时区检查 |
| 结构迁移 | Warning | 检查目标数据库的时区是否一致。 | 当迁移类型选择了结构迁移且需要迁移事件时,需检查该检查项。 |
数据库连接和结构通配符规则检查 | 源库 |
| Error | 连接或展开源端通配符。 | 无 |
源端表或数据库存在性检查 | 源库 |
| Error | 检查源数据库中指定的表/库是否存在。 | 无 |
源库增量位点检查 | 源库 |
| Error | 检查源库数据库增量位点是否存在。 | 无 |
检查源库的无主键表 | 源库 |
| Error | 检查源数据库无主键表的行数和容量(大于 10W 行或大于 100MB 的表)。 | 无 |
目标库 | 目标库 |
| Warning | 检查目标数据库的账号 | 无 |
目标数据库 | 目标库 |
| Warning | 检查目标数据库的 | 无 |
目标库 | 目标库 |
| Warning | 检查目标库 | 无 |
迁移权限检查 | 源库 | 用户迁移 | Warning | 账号迁移是否包含 All 权限。 | 无 |
目标库 | 目标库 | 用户迁移 | Warning | 数据库的 | 在源端和目标端的 MySQL 版本大于 8.0,且源端待迁移账户具备 |
目标库 | 目标库 |
| Warning | 检查目标库是否开启 | 无 |
双向同步表自增列检查 |
| 双向同步 | Warning | 检查双向同步中源库和目标库是否有包含自增列的表。 | 无 |
双向同步源库和目标库同步条件检查 |
| 双向同步 | Error | 检查双向同步源库和目标库是否满足同步条件。 | 检查迁移账户是否具备标记库表的读写权限。 |
源和目标端同名表存在性检查 |
|
| Warning | 检查源端和目标端是否存在同名的表。 | 如果目的端存在同名表,则迁移或同步任务将存在报错或数据覆盖的风险。 |
运行环境检测 |
|
| Warning | 运行环境检测。 | 无 |
数据同步版本检查 |
| 所有同步 | Error | 数据同步版本检查。 | 当源库数据库版本小于 MySQL 5.6 时,预检查不通过。 |