cdc.log (547.6 KB)
cdc_stderr.log (5.0 KB)
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:4.0.8
- 【问题描述】:TiCDC因DDL阻塞无法恢复同步
同步的目标数据库是mysql 因为是借用别的项目的数据库 目标数据库的用户权限不高 所以这个测试中间有些通融做法
– 以下是在源数据库(tidb4.0.8)上执行的语句
– step 1 目标mysql数据库没有test_cdc库 所以这条ddl会失败
create table dic_event_node_tmp like test_cdc.dic_event_node_cdc
;
insert into dic_event_node_tmp select * from test_cdc.dic_event_node_cdc
;
– step 2 意识到上面的ddl失败之后 我drop掉 dic_event_node_tmp 重新执行了这个:
create table dic_event_node_tmp like dic_event_node_cdc
;
insert into dic_event_node_tmp select * from dic_event_node_cdc
;
– step 3 执行完了之后觉得tmp表会互相影响了 所以又执行了这个
create table dic_event_node_tmp2 like dic_event_node_cdc
;
insert into dic_event_node_tmp2 select * from dic_event_node_cdc
;
监控的cdc信息如下(附件有详细日志)
– 执行step 1 之后的情况:
[tidb@bjgsyl059225 log]$ tiup cdc cli changefeed list
Starting component cdc
: /home/tidb/.tiup/components/cdc/v4.0.8/cdc cli changefeed list
[
{
“id”: “simple-replication-task”,
“summary”: {
“state”: “stopped”,
“tso”: 420582918822297606,
“checkpoint”: “2020-11-03 17:41:50.400”,
“error”: null
}
}
]
– 执行step 2 之后的情况:
[tidb@bjgsyl059225 log]$ tiup cdc cli changefeed list
Starting component cdc
: /home/tidb/.tiup/components/cdc/v4.0.8/cdc cli changefeed list
[
{
“id”: “simple-replication-task”,
“summary”: {
“state”: “stopped”,
“tso”: 420582918822297606,
“checkpoint”: “2020-11-03 17:41:50.400”,
“error”: {
“addr”: “10.18.59.240:8300”,
“code”: “CDC:ErrProcessorUnknown”,
“message”: “[CDC:ErrMySQLTxnError]Error 1146: Table ‘data_report_dev.dic_event_node_tmp’ doesn’t exist”
}
}
}
]
– 我在目标数据库mysql上执行了 create table dic_event_node_tmp like dic_event_node_cdc 之后, 再启动cdc同步之后
[tidb@bjgsyl059225 log]$ tiup cdc cli changefeed list
Starting component cdc
: /home/tidb/.tiup/components/cdc/v4.0.8/cdc cli changefeed list
[
{
“id”: “simple-replication-task”,
“summary”: {
“state”: “normal”,
“tso”: 420582918822297606,
“checkpoint”: “2020-11-03 17:41:50.400”,
“error”: null
}
}
]
– 过了一会儿之后 出现了这个报错
[tidb@bjgsyl059225 log]$ tiup cdc cli changefeed list
Starting component cdc
: /home/tidb/.tiup/components/cdc/v4.0.8/cdc cli changefeed list
[
{
“id”: “simple-replication-task”,
“summary”: {
“state”: “stopped”,
“tso”: 420582918822297606,
“checkpoint”: “2020-11-03 17:41:50.400”,
“error”: {
“addr”: “10.18.59.240:8300”,
“code”: “CDC:ErrProcessorUnknown”,
“message”: “[CDC:ErrMySQLTxnError]Error 1054: Unknown column ‘_id’ in ‘field list’”
}
}
}
]
请问这种情况之后 我要如何恢复整个同步任务?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。