Laughing哥学java 2024-06-14 14:48 采纳率: 0%
浏览 16

mysql 导入数据报错ERROR 1118 (42000): Row size too large (> 8126)

mysql 导入数据报错ERROR 1118 (42000): 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.

img

设置myini配置也不行

img

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-06-14 14:59
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    首先,让我们逐一分析错误提示和配置文件内容,然后提供可能的解决方案。

    错误分析

    • 错误代码: ERROR 1118 (42000) 表示MySQL遇到了一个警告或错误。
    • 问题描述: 行大小超过了8126字节的限制。这是InnoDB存储引擎对单行数据大小的限制。
    • 可能的解决方案:
      • 将某些列更改为TEXTBLOB类型。这些类型允许存储较大的数据量,并且不会直接影响行大小限制。
      • 使用ROW_FORMAT=DYNAMICROW_FORMAT=COMPRESSEDDYNAMIC格式允许更灵活的行大小,而COMPRESSED格式可以减少存储需求。
    • 当前行格式问题: BLOB前缀768字节被内联存储,这可能是由于使用了ROW_FORMAT=REDUNDANTROW_FORMAT=COMPACT导致的。在这些格式下,BLOB和TEXT列的前缀会被存储在行中,增加行的大小。

    配置文件分析

    • innodb_strict_mode=0: 这个设置表示InnoDB将运行在宽松模式下,一些严格检查会被忽略。通常,这不是解决行大小问题的关键。
    • innodb_file_per_table: 这个设置启用后,每个表的数据和索引将存储在单独的文件中,而不是在系统表空间中。这有助于管理大型数据库,但并不直接影响行大小限制。
    • innodb_file_format: 配置文件中可能存在拼写错误,应为innodb_file_format=Barracuda。Barracuda是InnoDB的文件格式,支持更大的索引和更好的性能。

    解决方案

    1. 修改表结构: 将一些大的列转换为TEXTBLOB类型。

    2. 更改行格式: 尝试将表的行格式更改为DYNAMICCOMPRESSED。可以通过以下SQL命令实现:

      ALTER TABLE your_table_name ROW_FORMAT=DYNAMIC;
      

      或者

      ALTER TABLE your_table_name ROW_FORMAT=COMPRESSED;
      

      注意:使用COMPRESSED格式需要MySQL服务器支持。

    3. 检查配置文件: 确保innodb_file_format设置正确,并且没有拼写错误。在my.cnfmy.ini文件中添加或修改以下行:

      [mysqld]
      innodb_file_format=Barracuda
      
    4. 重新启动MySQL服务: 应用配置更改后,需要重新启动MySQL服务以使更改生效。

    代码实现

    如果你需要通过脚本自动化这个过程,可以使用以下步骤:

    • 编写脚本来检查和修改my.cnfmy.ini文件中的innodb_file_format设置。
    • 使用MySQL客户端工具执行ALTER TABLE命令。

    参考资料

    请注意,上述解决方案需要根据你的具体数据库环境和需求进行调整。如果你不熟悉这些操作,建议在执行之前备份数据库,并在测试环境中进行尝试。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月14日

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络