一个奇怪的问题: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的更多相关文章
- mysql ERROR 1264 (22003): Out of range value for column 'x' at row 1 错误
mysql> insert into t1 values (-129), (-128), (127),(128);ERROR 1264 (22003): Out of range value f ...
- web3部署智能合约碰到的一个奇怪问题
都是gasLimit惹的祸 解决一个奇怪问题Error: Number can only safely store up to 53 bits 原来好好的node endpointtest.js ,结 ...
- SpannableString的一个奇怪的问题
今天使用spannableString遇到一个奇怪的问题,就是在setspan的时候,原本可以写成 spannableString.setSpan(new RelativeSizeSpan(0.5f) ...
- MinGW 和 MSVC 下,使用 FILE 类型的一个奇怪的问题
今天遇到一个奇怪的问题. 开发环境: 1. Eclipse CDT,使用 MinGW 的 gcc 编译器和函数库 2. Visual Studio 2008 问题描述: 在 eclipse cdt 中 ...
- 遇到delphi连接sql一个奇怪的问题:未指定的错误,加大了命令的等待时间为600即可了
遇到delphi连接sql一个奇怪的问题:未指定的错误,加大了命令的等待时间为600即可了 找了一下午没解决.
- 【Windows 7】发现一个奇怪的现象
最近在Windows7-32位操作系统上发现一个奇怪的现象,不知道64位操作系统上会不会发生这个现象.这个现象就是:如果系统上的一个或多个账户没有设置密码,那么在此条件下终止winlogon.exe进 ...
- PHP 浮点型转整型的一个奇怪现象
起因 最近通过一个学长的题了解php弱类型的时候,发现了一个奇怪的现象. 正文 主要问题在这样一段代码: $c=(int)((0.1+$b)*10); 当$b=0.6,0.8以及其他值的时候都正常 将 ...
- chrome一个奇怪的问题
我去........... 这牢骚发完了才发现, 多谢了个e 呃................. ================================= 晚上用bootstrap搭建一 ...
- 一个奇怪的JS函数
今天在分析一个jQuery插件源码的时候,发现了一个奇怪的函数. 这个函数的目的是为数字补零,如传入7,输出07,传入12输出12.由于是对时间补零,只截取后两位. // add leading ze ...
随机推荐
- Retrotranslator使用简介(JDK1.5->1.4)
Retrotranslator是一个可以把JDK1.5(6)下编译的类(或包)转译成JDK1.4下可以识别的类(包)的工具. 为现在还用JDK1.4呢?我想无非是现在的大部分Java Web应用是 ...
- vsphere client 虚拟机随主机自动启动
- malloc(50) 内存泄露 内存溢出 memory leak会最终会导致out of memory
https://en.wikipedia.org/wiki/Memory_leak In computer science, a memory leak is a type of resource l ...
- (转)用C#实现实现简单的 Ping 的功能,用于测试网络是否已经连通
本文转载自:http://blog.csdn.net/xiamin/archive/2009/02/14/3889696.aspx 用C#实现实现简单的 Ping 的功能,用于测试网络是否已经联通 1 ...
- nginx 入门 安装
.yum解决编译nginx所需的依赖包,之后你的nginx就不会报错了 yum install gcc patch libffi-devel python-devel zlib-devel bzip2 ...
- CTEX WinEdt 改变默认 pdf viewer
CTEX 2.9.2, WinEdt 7.0 "Options" -> "Excution Modes..." -> "PDF viewe ...
- 使用fiddler,提示系统找不到相应的文件FSE2.exe文件
使用fiddler时候遇到了如下问题: Rules中customize rules 时,提示系统找不到相应的文件FSE2.exe文件. 这个文件的位置可以在Tools->opinions-> ...
- bootstrap-select控件全选,全不选,查询功能实现
先引入先在你的页面引入 bootstrap-select.css 和 bootstrap-select.js <link href="~/Content/plugins/bootstr ...
- Far and away the best prize that life has given to us is the chance to work hard at work worth doing
work at:侧重于某个工作场所,或者是工作领域内研究 work on:侧重于思想上的从事于某个工作. marvel:n.漫威.奇迹 means.n.方法 tailor.n.裁缝 brighten. ...
- ubuntu彩色图形界面
Ubuntu的默认 ~/.bashrc 文件里,有一个控制是否打开彩色提示符文件的变量 $force_color_promt,只需要打开这个变量的开关,就可以使用彩色的命令行提示符了. 这对于输查看命 ...