You need to enable JavaScript to run this app.
导航

预检查项(MySQL)

最近更新时间2023.10.09 10:42:49

首次发布时间2021.11.21 10:32:58

本文介绍数据库传输服务 DTS 在创建或配置实例类型为 MySQL 数据库迁移、订阅或同步任务时,检查项的详细信息。

检查项数据库类型检查范围级别检查内容备注

目标库 Trigger 检查

目标库

  • 所有迁移

  • 所有同步

Warning

检查目标库是否存在 Trigger。

目标库表存在性检查

目标库

  • 全量迁移

  • 全量初始化

Error

检查目标库的库或表存在性是否符合预期。

当选择全量迁移但未选择结构迁移,或选择全量初始化但未选择结构初始化时,若目标库表不存在对应结构,可能会导致迁移或初始化失败。

目标库表存在性检查

目标库

  • 增量迁移

  • 增量同步

Warning

检查目标库的库或表存在性是否符合预期。

当选择了增量迁移或同步但未选择结构迁移或初始化时,若目标库表不存在对应结构,可能会导致迁移或同步失败。

说明

您可以通过增量 DDL 的方式进行结构迁移或初始化。

目标库是否为空检查

目标库

  • 结构迁移

  • 结构初始化

Warning

检查目标实例的指定库中是否已存在表,防止因误操作导致目标实例中的同名库被覆盖。

目标库表权限检查

目标库

  • 所有迁移

  • 所有同步

Error

检查目标库的账号权限是否满足迁移或同步要求。

迁移或同步的类型不同,需要的权限也不同,其中:

  • 增量迁移或增量同步要求目标库账号拥有 SELECT、INSERT、UPDATE、DELETE、CREATE、INDEX、ALTER、DROP 权限。

  • 全量迁移或全量初始化要求目标库账号拥有 SELECT、INSERT、UPDATE 权限。

  • 结构迁移或结构初始化要求目标库账号拥有 SELECT、CREATE、INDEX、ALTER 权限。

  • 用户迁移要求目标库账号拥有 CREATE USER、GRANT OPTION 权限。

innodb_strict_mode 检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Warning

检查源库和目标库的 innodb_strict_mode 是否一致。

innodb_large_prefix 检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Error

检查源库和目标库的 innodb_large_prefix 是否一致。

sql_mode 检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Warning

检查源库和目标库的 sql_mode 是否一致。

账号存在性检查

  • 源库

  • 目标库

用户迁移

Warning

检查源库中待迁移的账号是否已存在于目标库中。

表名大小写敏感性检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Warning

检查源库和目标库的 lower_case_table_names 是否一致。

事物隔离级别检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Warning

检查源库和目标库的 tx_isolation 是否一致。

结构 Definer 存在性检查

  • 源库

  • 目标库

  • 结构迁移

  • 结构初始化

Warning

检查源库和目标库的结构 Definer 是否存在。

结构 Definer 不存在可能导致迁移结构后不可用。

数据库版本检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

  • 数据订阅

Error

检查源库和目标库版本是否符合迁移或同步要求。

源库和目标库版本均需大于 MySQL 5.5。

数据库连通性检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

  • 数据订阅

Error

检查数据传输服务器是否能连通源库和目标库。

外键关联依赖检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Warning

检查源库中待迁移或同步表所依赖的外键,是否已迁移或同步至目标库。

账号迁移依赖检查

  • 源库

  • 目标库

用户迁移

Warning

检查源库账号所有授权的结构是否已迁移至目标库。

主版本一致性检查

  • 源库

  • 目标库

  • 所有迁移

  • 所有同步

Warning

检查源库和目标库主版本是否一致。

ServerID检查

源库

  • 增量迁移

  • 增量同步

  • 数据订阅

Warning

检查源库 ServerID 是否为 1。

如果源库 ServerID 为 1,系统将无法确认是否配置 ServerID,需要您自行确认。

gtid_modeenforce_gtid_consistency 检查

源库

  • 所有迁移

  • 所有同步

Error

检查源库 gtid_modeenforce_gtid_consistency

当源库数据库版本大于 MySQL 5.7 时,gtid_modeenforce_gtid_consistency 取值均需为 ON

表主键检查

源库

  • 全量迁移

  • 增量迁移

  • 全量初始化

  • 增量同步

Warning

检查源库中待迁移或同步的表是否设置了主键。

源表存储引擎检查

源库

  • 增量迁移

  • 增量同步

  • 数据订阅

Warning

检查源库中待迁移或同步的表是否使用的是 InnoDB 引擎。

  • 结构迁移

  • 结构初始化

Warning

检查其他非 InnoDB 引擎的表,在结构迁移时是否会自动转为 InnoDB 引擎。

Binlog 参数配置检查

源库

  • 增量迁移

  • 增量同步

  • 数据订阅

Error

检查源库是否开启 Binlog。

Binlog 参数需同时满足如下要求:

  • log_bin 取值为 ON

  • binlog_format 取值为 ROW

  • 对于 MySQL 5.6.2 及以上版本,binlog_row_image 取值为 FULL

log_slave_updates 检查

源库

  • 增量迁移

  • 增量同步

  • 数据订阅

Warning

检查源库 log_slave_updates 是否为 ON

复制权限检查

源库

  • 增量迁移

  • 增量同步

  • 数据订阅

Error

检查源库是否有 REPLICATION SLAVEREPLICATION CLIENT 权限。

源库的数据库账号密码不能超过 32 位。

源表库权限检查

源库

  • 所有迁移

  • 所有同步

  • 数据订阅

Error

检查源库是否有待迁移或同步库表的 SELECT 权限。

SHOW CREATE ROUTINE 权限检查

源库

  • 结构迁移

  • 结构初始化

Error

检查源库是否有 SHOW CREATE ROUTINE 权限。

源库需具备 SHOW CREATE ROUTINE 权限,才能获取待迁移或初始化 Routine 对象的创建语句。

SHOW CREATE VIEW 权限检查

源库

  • 结构迁移

  • 结构初始化

Warning

检查源库是否有 SHOW CREATE VIEW 权限。

源库需具备 SHOW CREATE VIEW 权限,才能获取待迁移或同步 View 对象的创建语句。

EventScheduler 配置检查目标库结构迁移Warningevent_scheduler 设置为 ON 时,事件迁移后不会被执行。当迁移类型选择了结构迁移且需要迁移事件时,需检查该检查项。

TomeZone 检查

  • 源库

  • 目标库

结构迁移

Warning

检查源库和目标库的时区是否一致。

当迁移类型选择了结构迁移且需要迁移事件时,需检查该检查项。

数据库连接和结构通配符规则检查

源库

  • 所有迁移

  • 所有同步

  • 数据订阅

Error

连接或展开源端通配符。

源端表或数据库存在性检查

源库

  • 所有迁移

  • 所有同步

  • 数据订阅

Error

检查源数据库中指定的表/库是否存在。

源库库增量位点检查

源库

  • 增量迁移

  • 增量同步

  • 数据订阅

Error

检查源库数据库增量位点是否存在。

检查源库的无主键表

源库

  • 所有迁移

  • 所有同步

Error

检查源数据库无主键表的行数和容量(大于 10W 行或大于 100MB 的表)。

目标库 SET_USER_ID 权限检查

目标库

  • 所有迁移

  • 所有同步

Warning

检查目标数据库的账号是否具备 SET_USER_ID 权限。

目标数据库 max_allowed_packet 配置检查

目标库

  • 所有迁移

  • 所有同步

Warning

检查目标数据库的 max_allowed_packet 是否小于 16MB。

目标库 innodb_rollback_on_timeout 关闭检查

目标库

  • 所有迁移

  • 所有同步

Warning

检查目标库 innodb_deadlock_detect 关闭时是否也关闭了 innodb_rollback_on_timeout

迁移权限检查源库用户迁移Warning账号迁移是否包含 All 权限。
目标库 partial_revokes 配置检查目标库用户迁移Warning数据库的 partial_revokes 是否开启。在源端和目标端的 MySQL 版本大于 8.0,且源端待迁移账户具备 Partial REVOKE 权限时才会检查。

目标库 log_bin_trust_function_creators 开启检查

目标库

  • 所有迁移

  • 所有同步

  • 结构迁移

Warning

检查目标库是否开启 log_bin_trust_function_creators

双向同步表自增列检查

  • 源库

  • 目标库

双向同步

Warning

检查双向同步中源库和目标库是否有包含自增列的表。

双向同步源库和目标库同步条件检查

  • 源库

  • 目标库

双向同步

Error

检查双向同步源库和目标库是否满足同步条件。

检查迁移账户是否具备标记库表的读写权限