开发者社区> 问答> 正文

table meta 错误

ERROR c.a.o.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta - pls submit github issue, show create table ddl:CREATE TABLE partner_organization_data ( id int(11) NOT NULL AUTO_INCREMENT, organizationName varchar(250) DEFAULT NULL, organizationId varchar(250) NOT NULL, organizationLogo varchar(500) DEFAULT NULL COMMENT '机构logo', organizationUrl varchar(500) DEFAULT NULL COMMENT '机构地址', isDelete tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除0是删除,1是不删除', isOnline tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否上线,0是不上线,1是上线', organizationLogoh5_2 varchar(500) DEFAULT NULL COMMENT 'h5 第二个logo', organizationLogoh5 varchar(500) DEFAULT NULL COMMENT 'h5机构logo', organizationUrlh5 varchar(500) DEFAULT NULL COMMENT 'h5机构url', PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 , compare failed . db : TableMeta [schema=operation, table=partner_organization_data, fileds= FieldMeta [columnName=id, columnType=int(11), nullable=false, key=true, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationName, columnType=varchar(250), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationId, columnType=varchar(250), nullable=false, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationLogo, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationUrl, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=isDelete, columnType=tinyint(4), nullable=false, key=false, defaultValue=0, extra=null, unique=false] FieldMeta [columnName=isOnline, columnType=tinyint(4), nullable=false, key=false, defaultValue=0, extra=null, unique=false] FieldMeta [columnName=organizationLogoh5_2, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationLogoh5, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationUrlh5, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] ] mem : TableMeta [schema=operation, table=partner_organization_data, fileds= FieldMeta [columnName=id, columnType=int(11), nullable=false, key=true, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationName, columnType=varchar(250), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationId, columnType=varchar(250), nullable=false, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationLogo, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationUrl, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=isDelete, columnType=tinyint(4), nullable=false, key=false, defaultValue=0, extra=null, unique=false] FieldMeta [columnName=isOnline, columnType=tinyint(4), nullable=false, key=false, defaultValue=0, extra=null, unique=false] FieldMeta [columnName=organizationLogoh5_2, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationLogoh5_2, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationLogoh5, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=organizationUrlh5, columnType=varchar(500), nullable=true, key=false, defaultValue=null, extra=null, unique=false] ] 2018-09-30 15:53:41.988 [[scheduler-table-meta-snapshot]] ERROR c.a.o.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta - compare failed , check log

以上是错误日志, 于两天前增加了一个数据列 organizationLogoh5_2 今天发生的错误.mem中出现了两个organizationLogoh5_2

原提问者GitHub用户tangtangsara

展开
收起
Java工程师 2023-05-08 19:07:22 115 0
1 条回答
写回答
取消 提交回答
  • 内存表结构是没有判重的处理,判重主要是meta_history里会基于serverId+位点做去重过滤,如果是正常的主备是在复制时会保留serverId,但对应的位点会不同,此时meta_history会有主备库各自的DDL,此时如果再回溯一次的话,就会出现内存重复的列

    原回答者GitHub用户agapple

    2023-05-09 19:06:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载