tencent cloud

数据传输服务

动态与公告
产品动态
公告
产品简介
产品概述
数据迁移功能描述
数据同步功能描述
数据订阅(Kafka 版)功能描述
产品优势
支持的地域
规格说明
购买指南
计费概述
变更配置说明
欠费说明
退费说明
快速入门
数据迁移操作指导
数据同步操作指导
数据订阅操作指导(Kafka 版)
准备工作
业务评估
网络准备
添加 DTS IP 地址至对接数据库白名单
DTS 服务权限准备
数据库及权限准备
配置自建 MySQL 系的 Binlog
数据迁移
数据迁移支持的数据库
云数据库跨账号实例间迁移
迁移至 MySQL 系列
迁移至 PostgreSQL
迁移至 MongoDB
迁移至 SQL Server
迁移至腾讯云分布式缓存数据库
任务管理
数据同步
数据同步支持的数据库
云数据库跨账号实例间同步
同步至 MySQL 系列
同步至 PostgreSQL
同步至 MongoDB
同步至 Kafka
任务管理
数据订阅(Kafka 版)
数据订阅支持的数据库
MySQL 系列数据订阅
TDSQL PostgreSQL 数据订阅
MongoDB 数据订阅
任务管理
消费管理
前置校验不通过处理方法
检查项汇总
割接说明
监控与告警
支持的监控指标
告警通知功能
通过控制台配置指标告警和事件告警
通过 API 配置指标告警和事件告警
运维管理
配置系统维护时间
任务状态扭转说明
实践教程
本地数据库同步上云
构建双向同步数据结构
构建多对一同步数据结构
构建多活数据中心
数据同步冲突策略如何选择
使用 CLB 代理将其他账号下的数据库迁移至本账号下
通过云联网方式迁移自建数据库至腾讯云数据库
DTS 性能调优最佳实践
常见问题
数据迁移
数据同步
数据订阅 Kafka 版常见问题
数据订阅正则表达式
错误处理
常见错误处理
连通性测试不通过
校验项结果不通过或者出现警告
云联网接入配置源数据时无法选择子网
迁移慢或者进度卡住
数据同步有延时
数据订阅延迟过高
数据消费异常
API 文档
History
Introduction
API Category
Making API Requests
(NewDTS) Data Migration APIs
Data Sync APIs
Data Consistency Check APIs
(NewDTS) Data Subscription APIs
Data Types
Error Codes
DTS API 2018-03-30
相关协议
服务等级协议

部分实例参数检查

PDF
聚焦模式
字号
最后更新时间: 2024-07-08 17:51:43

检查详情

源库表的 row_format 不能为 FIXED
源库和目标库 lower_case_table_names 变量必须一致。
目标库 max_allowed_packet 参数设置至少为4M。
源库变量 connect_timeout 必须大于10。
在 MySQL/TDSQL MySQL/TDSQL-C 迁移到 MySQL 的场景中,如果源实例存在耗时较长的 SQL 在运行,则会触发警告,提示“源实例有耗时较长的 SQL 在运行,可能导致锁表,请稍后重试或对源实例中的 SQL 进行处理”。

修复方法

修改源库 row_format 参数

数据库中表的 row_format 的取值为 FIXED 时,表格中每行的存储长度超过限制值时会溢出,发生报错。因此需要修改为其他模式,如 DYNAMIC,使每行的存储长度会随内容的长度而变化。
如发生此类报错,请参考如下指导进行修复:
1. 登录源数据库。
2. 修改 row_format 参数为 DYNAMIC
alter table table_name row_format = DYNAMIC;
3. 查看配置是否生效。
show table status like 'table_name'\\G;
系统显示结果类似如下:
mysql> show table status like 'table_name'\\G;
*************************** 1. row ***************************
Name: table_name
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 5
......
1 row in set (0.00 sec)
4. 重新执行校验任务。

修改源库和目标库 lower_case_table_names 变量保持一致

lower_case_table_names 是 MySQL 设置大小写是否敏感的一个参数,不同的取值情况如下: Windows 或 macOS 环境对大小写是不敏感的,但是 Linux 环境却是敏感的,为了保证不同系统的兼容性,需要将大小写敏感规则设置统一。
0:表名存储为给定的大小写,比较的时候区分大小写。
1:表名存储在磁盘是小写的,比较的时候不区分大小写。
2:表名存储为给定的大小写,比较的时候是小写的。
如发生此类报错,请参考如下指导将源库和目标库的参数改为统一。
1. 登录源数据库。
2. 查看源库和目标库中的 lower_case_table_names 取值。
show variables like '%lower_case_table_names%';
3. 参考如下内容修改源数据库的配置文件 my.cnf
说明
my.cnf 配置文件的默认路径为 /etc/my.cnf,现场以实际情况为准。
lower_case_table_names = 1
4. 参考如下命令重启数据库。
[$Mysql_Dir]/bin/mysqladmin -u root -p shutdown
[$Mysql_Dir]/bin/safe_mysqld &
5. 查看配置是否生效。
show variables like '%lower_case_table_names%';
系统显示结果类似如下:
mysql> show variables like '%lower_case_table_names%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.00 sec)
6. 重新执行校验任务。

修改目标库 max_allowed_packet 参数

max_allowed_packet 为最大允许的传输包。设置太大,会使用更多内存导致丢包,无法捕捉异常大事物包 SQL;设置太小,可能会导致程序报错,备份失败,也会导致频繁的收发网络包,影响系统性能。
如发生此类报错,请参考如下指导进行修复:
1. 登录目标数据库。
2. 修改 max_allowed_packet 参数。
set global max_allowed_packet = 4*1024*1024;
3. 查看配置是否生效。
show global variables like '%max_allowed_packet%';
系统显示结果类似如下:
mysql> show global variables like '%max_allowed_packet%';
+------------------------+---------+
| Variable_name | Value |
+------------------------+---------+
| max_allowed_packet | 4194304 |
+------------------------+---------+
1 row in set (0.00 sec)
4. 重新执行校验任务。

修改源库变量 connect_timeout

connect_timeout 为数据库的连接时间,超过 connect_timeout 设置值的连接请求将会被拒绝。如果设置过小,会导致数据库连接频繁断开,影响处理效率,因此建议该参数取值大于10。
如发生此类报错,请参考如下指导进行修复:
1. 登录源数据库。
2. 修改 connect_timeout 参数。
set global connect_timeout = 10;
3. 查看配置是否生效。
show global variables like '%connect_timeout%';
系统显示结果类似如下:
mysql> show global variables like '%connect_timeout%';
+------------------------+---------+
| Variable_name | Value |
+------------------------+---------+
| connect_timeout | 10 |
+------------------------+---------+
1 row in set (0.00 sec)
4. 重新执行校验任务。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈