Mysql数据库报错:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DY

1.问题描述:
Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help
在这里插入图片描述
在这里插入图片描述

2.产生原因:
1.表中数据多,产生的日志过多,默认的日志文件大小太小了;
2.不同引擎之间使用的存储格式不同。MyISAM有3种行存储格式:fixed/dynamic/compressed。InnoDb在MyIASM基础上新引入了Barracuda。至于不同引擎的默认设置,以及各种存储格式之间的区别,

3.解决方案
方式一:修改Mysql数据库配置文件
把Mysql数据库的my.ini配置项innodb_log_file_size=512M修改1024M,重启数据库服务就可以了。

方式二:修改其他引擎
修改前数据库信息:在这里插入图片描述
修改为一下引擎:
在这里插入图片描述

方式三:
尝试在配置文件中添加以下选项:
要激活新文件格式: innodb_file_format = Barracuda
将每个表存储在自己的文件中: innodb_file_per_table = 1
为防止出现意外: innodb_strict_mode = ON
要存储长的可变长度列值,请对大型表使用动态或压缩行格式。
例如,使用
ALTER TABLE LargeTable ENGINE = InnoDB ROW_FORMAT = DYNAMIC;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值