全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

预检查项

最近更新时间:2024-10-10 18:56:05

预检查及处理方法

在创建数据迁移、数据同步以及数据订阅任务前,会进行预检查校验任务,具体校验项如下。
如果预检查未通过,请参考对应解决方案修复;部分检查项支持忽略,具体可参考实际业务场景评估是否修复。

  • 校验项未通过:表示该检测项检测未通过,需要修复问题后重新发起预检查校验。

  • 校验项警告:表示该检测项检测不完全符合要求,用户需自行评估该警告是否影响业务场景,根据实际需求决定修复或忽略该问题。

MySQL迁移至MySQL

检测项

检测内容

解决方案

源库连接性检查

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

请检查源数据库IP地址、端口、账户、密码是否正确,防火墙是否设置正确

目的库连接性检查

检查数据传输服务器是否能连通目的数据库

请检查目标数据库账户、密码是否正确

库版本检查

检查数据库的版本号

当前DTS支持迁移数据库版本为MySQL5.5、MySQL5.6、MySQL5.7、MySQL8.0。其中MySQL8.0只支持同版本迁移,所有版本均不支持降版本迁移。

源库权限检查

检查源数据库的帐号权限是否满足迁移要求

DTS源数据库账户需具有Select_priv, Reload_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv,Show_view_priv, process_priv, Event_priv,XA_RECOVER_admin权限。如果源库为自建实例,且需要进行一致性校验任务,请授权源库迁移用户Super权限;如果不需要进行一致性校验,则可忽略该警告直接创建任务。当源库存在XA事务时,需要授予用户XA_RECOVER_admin权限,由于XA Prepare持久化的问题可能导致全量和增量衔接的时候XA事务不完整最终导致数据不一致

目的库权限检查

检查目的数据库的帐号权限是否满足迁移要求

DTS目标数据库账户需具有读写权限

同名对象存在性检查

检查目的库是否存在跟待迁移对象同名的结构对象

请修改迁移对象或者修改目的库名

源端同名对象存在性检查

源库schema的所有对象都要存在

请修改迁移对象,确保迁移对象存在

源库server_id检查

检查源数据库是否设置server_id大于1

源库server_id设置错误,请修改server_id大于1,修改命令为 set global server_id = xx

源库binlog开启检查

检查源数据库是否开启binlog

源库未开启binlog, 请添加如下配置至源库 MySQL 配置文件my.cnf,并重启;log-bin=[自定义binlog文件名]

源库日志模式检查

检查源数据库的日志模式是否合法

请设置源库binlog为ROW,修改命令为set global binlog_format=ROW;请设置源库binlog_row_image为FULL,修改命令为set global binlog_row_image=FULL

约束完整性检查

检查迁移表依赖的外键父表是否迁移

请将迁移表依赖的父表与迁移表一并迁移

存储引擎检查

检查迁移表是否有不支持的存储引擎

请修改迁移对象,迁移对象支持MyISAM和INNODB引擎

系统变量检查

检查目的库中的关键系统变量是否满足迁移条件

请将目标库参数lower_case_table_names 修改为与源库一致,请将目标库参数log_bin_trust_function_creators开启

连接数检查

检查源库、目标库的连接数是否满足要求

请检查重新设置max_connenctions和max_user_connenctions以满足迁移要求

MySQL密码格式检查

检查MySQL是否使用老的密码格式

不支持老密码格式的数据库迁移

MySQL迁移至TiDB

检测项

检测内容

解决方案

源库连接性检查

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

请检查源数据库IP地址、端口、账户、密码是否正确,防火墙是否设置正确

目的库连接性检查

检查数据传输服务器是否能连通目的数据库

请检查目标数据库账户、密码是否正确

源库server_id检查

检查源数据库是否设置server_id大于1

源库server_id设置错误,请修改server_id大于1,修改命令为 set global server_id = xx

源库binlog开启检查

检查源数据库是否开启binlog

源库未开启binlog,请添加如下配置至源库 MySQL 配置文件my.cnf,并重启;log-bin=[自定义binlog文件名]

源库日志模式检查

检查源数据库的日志模式是否合法

请设置源库binlog为ROW,修改命令为set global binlog_format=ROW;请设置源库binlog_row_image为FULL,修改命令为set global binlog_row_image=FULL

MySQL密码格式检查

检查MySQL是否使用老的密码格式

不支持老密码格式的数据库迁移

源库权限检查

检查源数据库的帐号权限是否满足迁移要求

DTS源数据库账户需具有Select_priv, Reload_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv,Show_view_priv, process_priv, Event_priv,XA_RECOVER_admin权限。如果源库为自建实例,且需要进行一致性校验任务,请授权源库迁移用户Super权限;如果不需要进行一致性校验,则可忽略该警告直接创建任务。当源库存在XA事务时,需要授予用户XA_RECOVER_admin权限,由于XA Prepare持久化的问题可能导致全量和增量衔接的时候XA事务不完整最终导致数据不一致。

源端同名对象存在性检查

源库schema的所有对象都要存在

请修改迁移对象,确保迁移对象存在

同名对象存在性检查

检查目的库是否存在跟待迁移对象同名的结构对象

请修改迁移对象或者修改目的库名

约束完整性检查

检查迁移表依赖的外键父表是否迁移

请将迁移表依赖的父表与迁移表一并迁移

存储引擎检查

检查迁移表是否有不支持的存储引擎

请修改迁移对象,迁移对象支持MyISAM和INNODB引擎

连接数检查

检查源库、目标库的连接数是否满足要求

请检查重新设置max_connenctions和max_user_connenctions以满足迁移要求

库版本检查

检查数据库的版本号

当前DTS仅支持MySQL5.7迁移至TiDB

目的库权限检查

检查目的数据库的帐号权限是否满足迁移要求

DTS目的数据库账户需具有select_priv,insert_priv,update_priv,delete_priv,create_priv,drop_priv,index_priv,create_view_priv,process_priv权限

系统变量检查

检查关键系统变量是否满足迁移条件

DTS要求MySQL参数lower_case_table_names为1(不区分大小写);MySQL与TiDB参数sql_mode、system_time_zone、time_zone保持一致

MySQL迁移至Elasticsearch

检测项

检测内容

解决方案

源库连接性检查

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

请检查源数据库IP地址、端口、账户、密码是否正确,防火墙是否设置正确

源库server_id检查

检查源数据库是否设置server_id大于1

源库server_id设置错误,请修改server_id大于1,修改命令为 set global server_id = xx

源库binlog开启检查

检查源数据库是否开启binlog

源库未开启binlog,请添加如下配置至源库 MySQL 配置文件my.cnf,并重启;log-bin=[自定义binlog文件名]

源库日志模式检查

检查源数据库的日志模式是否合法

请设置源库binlog为ROW,修改命令为set global binlog_format=ROW;请设置源库binlog_row_image为FULL,修改命令为set global binlog_row_image=FULL

MySQL密码格式检查

检查MySQL是否使用老的密码格式

不支持老密码格式的数据库迁移

源库权限检查

检查源数据库的帐号权限是否满足迁移要求

DTS源数据库账户需具有Select_priv, Reload_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv,Show_view_priv, process_priv, Event_priv,XA_RECOVER_admin权限。如果源库为自建实例,且需要进行一致性校验任务,请授权源库迁移用户Super权限;如果不需要进行一致性校验,则可忽略该警告直接创建任务。当源库存在XA事务时,需要授予用户XA_RECOVER_admin权限,由于XA Prepare持久化的问题可能导致全量和增量衔接的时候XA事务不完整最终导致数据不一致。

源端同名对象存在性检查

源库schema的所有对象都要存在

请修改迁移对象,确保迁移对象存在

约束完整性检查

检查迁移表依赖的外键父表是否迁移

请将迁移表依赖的父表与迁移表一并迁移

存储引擎检查

检查迁移表是否有不支持的存储引擎

请修改迁移对象,迁移对象支持MyISAM和INNODB引擎

目的库连接性检查

检查数据传输服务器是否能连通目的数据库

请检查目标数据库账户、密码是否正确

库版本检查

检查数据库的版本号

当前DTS支持ES版本为ES6.8

PostgreSQL迁移至PostgreSQL

检测项

检测内容

解决方案

源库连接性检查

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

请检查源数据库IP地址、端口、账户、密码是否正确,防火墙是否设置正确

目的库连接性检查

检查数据传输服务器是否能连通目的数据库

请检查目标数据库账户、密码是否正确

库版本检查

检查源数据库和目标库的版本号,源库版本是否满足不大于目标库版本

当前DTS支持迁移源数据库和目标库版本为PostgreSQL9.4

结构任务及全量任务源库权限检查

检查源数据库的帐号权限是否满足迁移要求

DTS源数据库账户权限不足,请检查用户是否有待迁移库的connect权限,是否有待迁移schema的usage权限

增量任务源库权限检查

检查源数据库的帐号权限是否满足迁移要求

DTS源数据库账户需具有superuser权限

目的库权限检查

检查目的数据库的帐号权限是否满足迁移要求

DTS目标数据库账户需具有createdb或superuser权限,如果需要迁移postgres库,请确保目标库账户有postgres的create权限

同名对象存在性检查

检查目的库是否存在跟待迁移对象同名的结构对象

请修改迁移对象或者修改目的库对象名

LC_MONETARY一致性检查

检查源库和目标库的LC_MONETARY参数设置是否一致

请检查源库和目标库的LC_MONETARY参数设置是否一致

逻辑流复制参数检查

检查源库参数是否满足逻辑流复制的要求

请配置源库参数wal_level为logical;max_replication_slots >= 当前复制槽个数 + database个数;max_wal_senders >= max_replication_slots+当前从库连接数

逻辑复制插件及逻辑复制配置检查

检查源库是否安装逻辑复制插件,检查逻辑复制是否配置DTS的IP地址

请将DTS的IP地址加入至源库PostgreSQL的配置文件(pg_hba.conf)中,并在源库安装wal2json插件

最大连接数检查

检查源库、目标库的最大连接数是否满足迁移要求

请重新设置max_connections参数,以满足迁移要求

约束完整性检查

检查迁移表依赖的外键父表是否迁移

请将迁移表依赖的父表与迁移表一并迁移

Redis迁移至Redis

检测项

检测内容

解决方案

目标库连接性检查

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

请检查目标数据库IP地址、端口、密码是否正确,防火墙是否设置正确

目的库配额检查

检查目的数据库内存是否大于等于源库内存

请检查目标数据库内存是否大于等于源库内存,如果源库为自建实例且maxmemory配置为0,请确保目标库拥有足够空间

目的库是否为空检查

检查目的数据库中是否存在数据

请删除目的库存在的数据

源数据库连接性检查

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

请检查源数据库IP地址、端口、密码是否正确,防火墙是否设置正确

数据库版本检查

检查数据库的版本是否符合要求

请保证数据库版本在2.8~6.0范围内,且目标库版本不低于源库版本

数据库DB数目检查

检查源库和目标库DB数目是否符合迁移要求

集群移到集群:仅支持源库所使用DB数为1的情况,源库集群使用多DB暂不支持;主从迁移到主从:请保证目标库DB数大于源库DB数

MongoDB迁移至MonogDB

检测项

检测内容

解决方案

目标库性连接性检查

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

请检查目标数据库IP地址、端口、用户密码是否正确,防火墙是否设置正确

源库性连接性检查

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

请检查源数据库IP地址、端口、用户密码是否正确,防火墙是否设置正确

目标库数据冲突检查

检查目标数据库中是否存在和源数据库冲突的库表

请删除目标数据库存在冲突的表,如果是合库操作请确认数据不会发生冲突,如数据冲突任务会直接失败

源数据库账户检查

用于源库检查给定的用户是否能够完成数据迁移工作

请检查源数据库账号权限,源数据库账户至少需具有 root 权限

目标数据库账户检查

用于源库检查给定的用户是否能够完成数据迁移工作

请检查目标数据库账号权限,目标数据库账户至少需具有 root 权限

数据库版本检查

检查源数据库版本号及目标数据库版本是否符合要求

请保证源数据库版本及目标数据库版本在3.2~6.0范围内;且目标库版本不得低于源库版本

源端平衡器状态检查

检查源端平衡器是否关闭

请保持源端平衡器处于关闭状态,修改命令为 sh.stopBalancer()

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈