carrot 1 2023-02-26 15:08 采纳率: 33.8%
浏览 84
已结题

mysql8.0.29执行sql时出现上述错误

Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline;mysql8.0.29执行sql时出现上述错误,应该怎么解决?

  • 写回答

11条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2023-02-26 15:22
    关注
    获得10.00元问题酬金

    原因:
    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;

    评论

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 创建了问题 2月26日

悬赏问题

  • ¥15 配置hadoop时start-all.sh老是启动失败
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf