New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
解析binlog日志失败 #274
Comments
mysql 5.7.14版本还没测试过,可能是有协议变更 |
agapple
added a commit
that referenced
this issue
Mar 17, 2017
改了一个代码,帮我验证一下mysql 5.7.14环境是否可以正常解析,谢谢。验证ok之后回复一下信息 |
遇到同样的错 canal日志
binlog日志
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
canal运行后解析binlog日志的时候出现错误,提示Read Q_SQL_MODE_CODE error: limit excceed: 67
我看了canal的部分源码,貌似是sql_mode设置的不对?SQL_mode在canal里定义是64位的所以用getLong64,但是实际是67导致越界了?没看出数据库的数据有啥问题
PS: mysql版本是5.7.14
mysqlbinlog的日志:
见附件
binlog.txt
canal实例日志:
2017-03-03 17:17:19.952 [destination = gene_cachenotice_play3 , address = /172.16.10.213:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - prepare to find start position just last position
{"identity":{"slaveId":-1,"sourceAddress":{"address":"172.16.10.213","port":3306}},"postion":{"included":false,"journalName":"mysql-bin.000016","position":24856433,"serverId":213,"timestamp":1488484784000}}
2017-03-03 17:17:19.959 [destination = gene_cachenotice_play3 , address = /172.16.10.213:3306 , EventParser] WARN com.taobao.tddl.dbsync.binlog.LogDecoder - Decoding Query failed from: mysql-bin.000016:24858343
java.io.IOException: Read Q_SQL_MODE_CODE error: limit excceed: 67
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:650) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:477) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:154) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:106) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:123) [canal.parse-1.0.23.jar:na]
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:209) [canal.parse-1.0.23.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.lang.IllegalArgumentException: limit excceed: 67
at com.taobao.tddl.dbsync.binlog.LogBuffer.getLong64(LogBuffer.java:873) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:566) ~[canal.parse.dbsync-1.0.23.jar:na]
... 6 common frames omitted
2017-03-03 17:17:19.960 [destination = gene_cachenotice_play3 , address = /172.16.10.213:3306 , EventParser] ERROR c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - dump address 172.16.10.213/172.16.10.213:3306 has an error, retrying. caused by
java.io.IOException: Read Q_SQL_MODE_CODE error: limit excceed: 67
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:650) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:477) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:154) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:106) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:123) ~[canal.parse-1.0.23.jar:na]
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:209) ~[canal.parse-1.0.23.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.lang.IllegalArgumentException: limit excceed: 67
at com.taobao.tddl.dbsync.binlog.LogBuffer.getLong64(LogBuffer.java:873) ~[canal.parse.dbsync-1.0.23.jar:na]
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:566) ~[canal.parse.dbsync-1.0.23.jar:na]
... 6 common frames omitted
2017-03-03 17:17:19.960 [destination = gene_cachenotice_play3 , address = /172.16.10.213:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:gene_cachenotice_play3[java.io.IOException: Read Q_SQL_MODE_CODE error: limit excceed: 67
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:650)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.(QueryLogEvent.java:477)
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:154)
at com.taobao.tddl.dbsync.binlog.LogDecoder.decode(LogDecoder.java:106)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:123)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:209)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: limit excceed: 67
at com.taobao.tddl.dbsync.binlog.LogBuffer.getLong64(LogBuffer.java:873)
at com.taobao.tddl.dbsync.binlog.event.QueryLogEvent.unpackVariables(QueryLogEvent.java:566)
... 6 more
]
The text was updated successfully, but these errors were encountered: