解决SQL文件导入MySQL数据库1118错误的问题

 更新时间:2024年10月15日 09:22:13   作者:Chenry.r  
在使用Navicat导入SQL文件时,有时会遇到报错问题,这通常与MySQL版本差异或严格模式设置有关,若报错提示rowsize长度过长,可能是因为MySQL的严格模式开启导致,解决方法是检查严格模式是否开启,若开启则需关闭

一、 问题描述

提示:具体错误如下

[ERR] 1118 - 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.

二、 原因分析

与发送SQL文件的同事沟通他说可能是他用的MySQL版本是5.7的而我用的是8.0的版本的问题,具体是否后边我也没有做验证了

网上搜索的原因大致是说

“在执行创建表或者增加字段时,发现row size长度过长,会导致出现以下错误”

三、 解决方案

1、执行以下SQL语句,查看严格模式是否是开启

// 查看严格模式是否是开启(这里在Navicat新建查询里运行也是一样的)
show variables like '%innodb_strict_mode%';

2、执行后如果为ON,则需要关闭

Variable_name			Value
innodb_strict_mode		ON

3、找到MySQL的配置文件位置

我的位置如  D:\Users\Work\Software\MySql\MySQL Data\my.ini,可查看系统变量找到安装目录。

右键编辑,在[mysqld]配置项下面新增一行

//在[mysqld]下面新增
innodb_strict_mode=0

4、保存,然后重启MySQL服务

// 再次执行以下SQL语句,查看严格模式是否是关闭

show variables like '%innodb_strict_mode%';
Variable_name			Value
innodb_strict_mode		OFF

如果为OFF,则说明执行成功。再导入试试 

我就是使用此方法解决,导入就没问题了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • win10 下安装mysql服务器社区版本mysql 5.7.22 winx64的图文教程

    win10 下安装mysql服务器社区版本mysql 5.7.22 winx64的图文教程

    这篇文章主要介绍了win10 下安装mysql服务器社区版本mysql 5.7.22 winx64的图文教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • mysql5.7中的密码忘记如何找回

    mysql5.7中的密码忘记如何找回

    这篇文章主要介绍了mysql5.7中的密码忘记如何找回问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • MySQL实现数据批量更新功能详解

    MySQL实现数据批量更新功能详解

    最近需要批量更新大量数据,习惯了写sql,所以还是用sql来实现,下面这篇文章主要给大家总结介绍了关于MySQL批量更新的方式,需要的朋友可以参考下
    2023-02-02
  • mysql部分字符存储报错 Incorrect string value问题解决

    mysql部分字符存储报错 Incorrect string value问题解决

    MySQL中的utf-8字符集并不完全支持utf-8,本文这要介绍了mysql部分字符存储报错 Incorrect string value问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-07-07
  • mysql show操作简单示例

    mysql show操作简单示例

    这篇文章主要介绍了mysql show操作,结合简单实例形式总结分析了mysql使用show语句显示各种常见信息相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • php开启mysqli扩展之后如何连接数据库

    php开启mysqli扩展之后如何连接数据库

    Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件;相对于mysql有很多新的特性和优势,需要了解的朋友可以参考下
    2012-12-12
  • mysql通过binlog日志复制主从同步的实现

    mysql通过binlog日志复制主从同步的实现

    本文主要介绍了mysql通过binlog日志复制主从同步的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • MySQL主备操作以及原理详解

    MySQL主备操作以及原理详解

    本文主要介绍了MySQL主备操作以及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • mySQL 延迟 查询主表

    mySQL 延迟 查询主表

    在主外键表存在关系的时候如果加上"lazy=true"的话,则表明延迟,即只查询主表中的内容,而不查询外键表中的内容。
    2009-09-09
  • Mysql8创建用户以及赋权操作过程

    Mysql8创建用户以及赋权操作过程

    文章详细介绍了MySQL 8中创建用户、赋权及权限管理的操作步骤,包括创建不限制IP的用户、赋权数据库所有表、使用WITH GRANT OPTION传递权限、刷新权限、撤销权限、删除用户等,同时强调了权限修改后需刷新及注意权限继承关系
    2025-07-07

最新评论