java.sql.SQLSyntaxErrorException:The size of BLOB/TEXT data inserted in one transaction is greater

背景:

同事在上传文件时碰到这样一个数据库报错,上传文件大小为10M。

java.sql.SQLSyntaxErrorException: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size.....

解决方式:

从报错信息看是因为innodb_log_file_size太小,至于原因,在 mysql 5.6中,对innodb_log_file_size做了限制,如果存在blob字段,则innodb_log_file_size必须至少是最大单行数据的10倍大小。查了一下当前大小: SHOW VARIABLES LIKE '%innodb_log_file_size%';

50331648这个其实就是默认配置,  50331648/1024/1024 = 48M,修改mysql配置文件my.ini,将该配置调大,然后需要重启数据库。

[mysqld]
innodb_log_file_size=256M

 

参考:https://stackoverflow.com/questions/25277452/how-to-configure-mysql-5-6-longblob-for-large-binary-data

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值