开发者社区> 问答> 正文

canal 突然出现了问题,看起来和权限相关

昨晚上11:50之前都正常,之后突然出现了问题,看起来和权限相关 线上用的是RDS, 测试线自己的机器canal没有异常

2017-02-28 23:49:51.829 [destination = example , address = /XXX.178.61.230:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEvent Parser - ERROR ## parse this event has an error , last position : [EntryPosition[included=false,journalName=mysql-bin.000302,position=5492156,serve rId=3071795599,timestamp=1488296991000]] com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: com.google.common.collect.ComputationException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:mysql.user Caused by: com.google.common.collect.ComputationException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta: mysql.user at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:889) ~[guava-18.0.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.TableMetaCache.getTableMeta(TableMetaCache.java:78) ~[canal.parse-1.0.23-SNAPSHOT.jar :na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.getTableMeta(LogEventConvert.java:677) ~[canal.parse-1.0.23-SNAPSHOT. jar:na] ...........

at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]

Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:mysql.user Caused by: java.io.IOException: connect XXX.178.61.230/118.178.61.230:3306 failure:java.io.IOException: Error When doing Client Authentication:ErrorPacket [errorNumber=2811, fieldCount=-1, message=Authentication Failed For RDS backend, sqlState=RDS00, sqlStateMarker=#] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.negotiate(MysqlConnector.java:208) ........... Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:mysql.user Caused by: java.io.IOException: ErrorPacket [errorNumber=1142, fieldCount=-1, message=SELECT command denied to user 'app_prod_crawler'@'116.62.43.4 1' for table 'user', sqlState=42000, sqlStateMarker=#] with command: desc mysql.user at com.alibaba.otter.canal.parse.driver.mysql.MysqlQueryExecutor.query(MysqlQueryExecutor.java:60) ~[canal.parse.driver-1.0.23-SNAPSHOT.jar:na]

之前监听了所有的库,看文档可以用配置只监听指定库,canal.instance.filter.regex

原提问者GitHub用户baijy1992

展开
收起
绿子直子 2023-05-09 15:22:59 76 0
1 条回答
写回答
取消 提交回答
  • 过滤一下mysql.user表 最新版本24已经支持

    原回答者GitHub用户agapple

    2023-05-10 10:39:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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