重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 339|回复: 0
打印 上一主题 下一主题

[命令及语法] MYSQL导入数据报错:ERROR 1118 (42000) at line 50: Row size too large (> 8126)

[复制链接]
跳转到指定楼层
楼主
发表于 2026-8-10 22:14:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 郑全 于 2026-8-10 22:17 编辑

在mysql 8.0.46 下,导入数据,报错:ERROR 1118 (42000) at line 50: Row size too large (> 8126):具体如下:

[root@oracle40 ~]# mysql -uroot -pRoot@12345 v8x < v8x_full.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1118 (42000) at line 50: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

原因是:MySQL8.0 虽然默认行格式是 DYNAMIC,但建表语句没显式指定 ROW_FORMAT,建表时自动用 COMPACT 行格式,单行字段总长度超过 8126 字节触发报错。

解决办法:
   1. 临时修改 my.cnf 全局默认行格式
      vim /etc/my.cnf

    [mysqld]
    innodb_default_row_format = dynamic               ---
    innodb_strict_mode = 0        。。。
    max_allowed_packet=1G

  2.重启 mysql

       systemctl restart mysqld
     再执行导入,不再报错。






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-8-21 05:49 , Processed in 0.265126 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表