处理Maxwell监控Mysqlbinlog问题解决
- 前言:今天启动Maxwell获取mysqlbinlog日志发现启动报错,发现找不到
- 类似于:com.zendesk.maxwell.schema.ddl.InvalidSchemaError: Couldn’t find table 't_user1’这种报错
解决办法:找到启动报错的binlog存储二进制文件类似于这种

- 启动之后会报错,找不到对应库的名称,或者表名
- 分析:Maxwell 数据库里面会记录各种自己同步的时候会需要用到的信息,当他在同步到主数据库有建库建表相关 dll 的时候,他会使用相关语句在 自己的数据库把这些东西建出来。这里提示的找不到(库名或者表名)就是因为 Maxwell 自己数据库维护的 databases,tables,或者schemas表里面没有 (库名或者表名) 这个数据记录,所以就报错了。
本人解决办法
- 找到启动报错的编号,排查maxwell数据库中,databases,tables,或者schemas中的有没有同步到表中
- 如果有同步数据的话的,可以删除掉
- 在mysql数据中找到报错的数据,做好备份,删除此条数据或者表或者数据库
- 重新启动maxwell 监控,把备份的数据重新添加到mysql数据库,让maxwell重新监控同步
Maxwell查看数据库样例
schemas库查看样例:

| binog_file | binlog_position | deltas |
|---|---|---|
| binlog二进制文件存储 | 生成的编号(本人理解是相当于ID) | 操作同步到maxwell 的操作类型(插入,删除,更新) |
databases样例

|name| charset |
|–|–|–|
| 同步的数据库 | 编码格式 |
tables样例

|name| charset |
|–|–|–|
| 同步的表名 | 编码格式 |
目前本人理解的就这么多,如果有什么需要补充的请私聊本博主,或者评论,我添加上去
版权声明:本文为weixin_51687288原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。