预检查项汇总
概述
在创建完DTS数据迁移任务时,需要对源库和目的库的连通性进行检查,此外启动数据迁移前还会进行详细的内容检查,详细检查项参见以下解释。
源库连通性预检查
Ping测试 |
Telnet测试 |
MySQL Connect测试 |
解释 |
成功 |
成功 |
成功 |
连通成功 |
成功 |
成功 |
失败 |
源数据库连接失败,请查看数据库服务是否开启了对应的端口,并查看授权是否添加,由于百度出口IP不是固定IP,需要对10.%(不限制任何IP)的网段或直接对%授权,查看防火墙设置 |
成功 |
失败 |
失败 |
源数据库端口连接失败,请查看数据库服务是否启动,或者是否开启了对应的端口,查看防火墙设置,是否禁止该端口访问 |
失败 |
失败 |
失败 |
源IP和DTS服务器之间网络不通,请查看是否填写了外网可以访问到的IP,或者查看防火墙设置 |
目的库连通性预检查
Ping测试 |
Telnet测试 |
MySQL Connect测试 |
提示语 |
成功 |
成功 |
成功 |
连通成功 |
成功 |
成功 |
失败 |
目的数据库连接失败,请查看数据库服务是否开启了对应的端口,并查看授权是否添加,由于百度出口IP不是固定IP,需要对10.%的网段或直接对%授权,查看防火墙设置 |
成功 |
失败 |
失败 |
目的数据库端口连接失败,请查看数据库服务是否启动,或者是否开启了对应的端口,查看防火墙设置是否禁止该端口访问 |
失败 |
失败 |
失败 |
目的ip和DTS服务器之间网络不通,请查看是否填写了外网可以访问到的IP,或者查看防火墙设置 |
预检查项、失败原因及处理方法汇总
预检查问题 |
失败原因 |
解决方案 |
检查数据传输服务器是否能连通源数据库 |
网络不通、设置了防火墙、MySQL未对所有IP授权 |
检查填写的IP是否在公网可以访问,检查防火墙配置,检查Mysql的账号权限 |
检查数据传输服务器是否能连通目的数据库 |
目的数据库网络不通,MySQL授权问题 |
检查目的数据是否访问正常,检查Mysql的账号权限 |
检查源数据库的版本号 |
MySQL版本低于5.1 |
升级MySQL到5.1及以上版本 |
检查目的数据库待迁入的数据库是否可用 |
目的数据库中的db不存在 |
创建目的数据库的db:create database dest_db |
检查目的数据库是否只读 |
目的数据库是只读,不可写入 |
设置目的数据库可写:set global read_only=0 |
检查源数据库的账号权限是否满足迁移要求 |
源数据库的账号权限不满足迁移要求 |
增加源数据库账号的权限 |
检查目的数据库的账号权限是否满足迁移要求 |
目的数据库的账号权限不满足迁移要求 |
增加目的数据库账号的权限 |
检查源库、目标库的连接数是否满足要求 |
当前剩余的连接数无法满足DTS需求 |
增加数据库最大连接数:set global max_connections=1000 |
检查目的库是否存在跟待迁移对象同名的结构对象 |
目的数据库中跟要迁移的表重名 |
删除目标数据库中的表,或选择增量迁移 |
检查迁移表依赖的外键父表是否迁移 |
迁移的表的外键依赖的表没有迁移 |
选择库表信息时,将依赖的表一块迁移 |
检查迁移表的表结构在目的库是否存在 |
目标库中不存在要迁移的表结构 |
在目标库中创建要迁移的表,或者迁移对象增加结构迁移 |
检查迁移表是否有不支持的存储引擎 |
迁移的表中有不支持的存储引擎 |
去掉不支持迁移的表 |
检查源库和目标库中SQL_MODE是否合法 |
源库和目标库的sql_mode不合法 |
改成合法的sql_mode,详见支持的sql_mode |
检查目的库中表是否为空 |
目的库中的表不为空 |
清空目标数据库的表的数据 |