IT俱乐部 MySql 解决SQL文件导入MySQL数据库1118错误的问题

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

一、 问题描述

提示:具体错误如下

[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:UsersWorkSoftwareMySqlMySQL Datamy.ini,可查看系统变量找到安装目录。

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

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

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

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

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

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/mysql/14475.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部