一个奇怪的问题:Last_Errno: 1264 Error 'Out of range value for column 0x322E36343030

场景环境:

  1. 主从都是:Server version: 5.7.16-log MySQL Community Server (GPL)

  2.操作系统:CentOS release 6.7 (Final)

  3.业务端通过SAS软件,向改主库中批量写入几百条数据。

接到报警,发现从库show slave status \G; 有如下报警

Last_Errno: 1264
Last_Error: Error ‘Out of range value for column ‘loan_amount‘ at row 1‘ on query. Default database: ‘chedai‘. Query: ‘INSERT INTO test_list2 (loan_amount,APPLYUSERGROUPID,lastapplyid,validdate)  VALUES ( 0x322E3634303030303030303030303030303030652B303035 , 0x3131313130313234 , 0x392E3839353230393030303030303030303030652B303036 , 0x323031382D30352D3331 )‘
Skip_Counter: 0

从库在应用主库binlog时,发现实际value超过字段定义长度。但疑问时:为什么主库能成功执行,从库就报错。

从主库查到已经成功插入的数据表为:

+-------------+------------------+-------------+------------+
| loan_amount | APPLYUSERGROUPID | lastapplyid | validdate |
+-------------+------------------+-------------+------------+
| 264000 | 11110124 | 9895209 | 2018-05-31 |
| 80000 | 11110122 | 9896660 | 2018-05-31 |
| 216000 | 11111162 | 9900036 | 2018-05-31 |
| 208000 | 11143122 | 9907101 | 2018-05-31 |
| 176000 | 11121775 | 9922122 | 2018-05-31 |
| 110000 | 11111804 | 9928679 | 2018-05-31 |
| 68800 | 11110963 | 9941918 | 2018-05-31 |
| 68000 | 11143124 | 9944861 | 2018-05-31 |
| 50000 | 11111164 | 9949087 | 2018-05-31 |
| 54000 | 11121640 | 9951020 | 2018-05-31 |
+-------------+------------------+-------------+-----------

解析对应的binlog,确实所有的value都变成了16进制,截图如下:

疑点:为什么mysqlbinlog解析出来value是16进制的。同时也匹配上了slave上的报错信息。

想到这个库的binlog_format设置的是mixed,第一想法是如果改为ROW格式,是否可以规避这个问题呢,如果做了如下测试:

1. mysql>set global binlog_format=row;

2. 叫研发侧的同学按原步骤,重新写入数据。

3.解析对应binlog,结果如下:

至此,mysqlbinlog能正常解析出来,与此同时slave也正常同步上了。

结论:本次环境通过修改binlog_format=row,成功规避掉的了这个问题。同时也建议生产环境设置该参数为row,但是具体是什么原因导致的,之前有文章提到是jdbc版本和mysql server版本兼容的问题,详见:

http://www.itpub.net/forum.php?mod=viewthread&action=printable&tid=1402633

一个奇怪的问题:Last_Errno: 1264 Error 'Out of range value for column 0x322E36343030

原文地址:https://www.cnblogs.com/yiyuf/p/8961599.html

时间: 2024-11-09 00:59:28

一个奇怪的问题:Last_Errno: 1264 Error 'Out of range value for column 0x322E36343030的相关文章

做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致

最近在做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致.大家可以查看这个Demo(记得打开Chrome DevTools). 就如上图所示,你可以发现,原本指定的字体大小是24px,但是最终计算出来的却是53px,看到这诡异的结果,我心中暗骂一句:这什么鬼! 随后开始对问题各种排查:某个标签引起的?某个CSS引起的?又或者是某句JS代码引起的.通过一坨坨的删代码,发现貌似都不是.我不禁又骂,到底什么鬼!不过中间还是发现了一些端倪:当页面中的标签数量或者文本数

一个奇怪的JS函数

今天在分析一个jQuery插件源码的时候,发现了一个奇怪的函数. // add leading zeros var pad = function(x){return (1e15+""+x).slice(-2)}; 首先1e15是什么意思? 也不是十六进制表示法. 不管三七21,直接F12打开命令窗口,执行下看看,结果是1后面有15个0. 原来1e15是科学计数法,表示1乘以10的15次方. var y=123e5; // 12300000 var z=123e-5; // 0.0012

测试一个奇怪的问题

我是一个中国人的老师. 测试一个奇怪的问题,布布扣,bubuko.com

一个奇怪的问题

在网络线程中接收并解析出来的信息 用一个 全局的 CCString(其实就是C++ std::string的封装) 接成功,但是在UI线程中使用这个全局的变量时候,却显示不出来(经验证不为空)刚开始以为是多线程操作的问题呢,然后调用 scheduleOnce(schedule_selector(Arena::initFillLeftRoleMessage), 0 );也不行 ,最后实在没办法了用int 类型的全局变量去接收,结果神奇的事情出现了,可以显示了. 一个奇怪的问题

asp中的一个奇怪的函数

/* 豆腐制作 都是精品 http://www.asp888.net 豆腐技术站 如转载 请保留版权信息 */ asp中有很多的文章在研究如何提高asp程序的执行效率,我们 得出结论 在<% 和 %> 之间的代码执行的速度要高于 在这个 标签之外的代码,我们有没有想过 如何重复的利用这些在标签之外的代码呢? 有的人可能觉得 这个没有什么意义!但是我们可以 怀着 一种很轻松的心态来看看下面这个例子,看看 我们得到了什么有趣的现象!在这个例子中,我们用到了 MSDN 中没有介绍的 WriteBlo

SpannableString的一个奇怪的问题

今天使用spannableString遇到一个奇怪的问题,就是在setspan的时候,原本可以写成 1 spannableString.setSpan(new RelativeSizeSpan(0.5f), stringsize + 2, 2 2 + stringsize + 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 3 spannableString.setSpan(new ForegroundColorSpan(Color.LTGRAY), 4 stri

tomcat的webappclassloader中一个奇怪的异常信息

如果一个应用抛出大量的Class not found信息,一般你会怀疑包冲突.可是tomcat的webappclassloader却有这样的问题: 如果一个应用发布出现问题, webappclassloader的started属性被设为false.然后其它线程如果继续使用webappclassloader进行class load,则大量的Class not found异常 被抛出: 1391       public Class loadClass(String name, boolean re

一个奇怪的bug

之前遇到一个奇怪的bug,现在正好时间比较多,就想把它记录下来. 是关于一个日历控件的bug. 点击团期,会弹出日历控件的弹窗,控件的界面展示大概是这样子的:第一排是周几(从周日到周六依次排列,这部分是开发人员写死的),再下面是调用的系统的日期.bug详细描述:更换系统语言,如改成English(UK),假设原本今天应该是周四,更改与语言之后.今天就变成周三了. 原因是:对于美国而言,周日是作为每周的第一天,而对于英国,周一是每周的第一天,这样更改完语言之后,就发生了上面的bug.后来开发人员修

[nginx]nginx的一个奇葩问题 500 Internal Server Error phpstudy2018

[nginx]nginx的一个奇葩问题 500 Internal Server Error 解决方案 nginx 一直报500 Internal Server Error 错误,配置是通过phpstudy2018站点域名管理生成的. 默认是  root   "D:\php\phpstudy\PHPTutorial\WWW\foxphp"; 修改成这样就好了 root   "D:\\php\\phpstudy\\PHPTutorial\\WWW\\foxphp"; 查