Navicat运行Sql文件报错:[ERR] 2006 - MySQL server has gone away
·
一、用Navicat运行一个较大的Sql文件(70M+),出现以下报错
[ERR] 2006 - MySQL server has gone away
若之前没有修改过max_allowed_packet参数,最可能的原因就是一次性运行的.sql文件大小超过了Navicat的限制,需要增大max_allowed_packet参数:
- 在配置文件(D:\xampp\mysql\bin\my.ini)中,[mysqld]下面新增一行:
max_allowed_packet=1024123123
- 重启后打开SQL控制台运行
show variables like '%max_allowed_packet%';
若显示的是max_allowed_packet=1024123123,则说明修改成功,若不是(本人就是这种情况),则需要按以下步骤修改参数:


二、运行后又出现:
[ERR] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=
在执行创建表或者增加字段时,row size长度过长就会导致出现以上错误,需要关闭严格模式:
- 在配置文件(D:\xampp\mysql\bin\my.ini)中,[mysqld]下面新增一行:
innodb_strict_mode=0
- 重启后打开SQL控制台运行
show variables like '%innodb_strict_mode%';
若显示的是innodb_strict_mode=OFF,则说明修改成功,若是ON(本人就是这种情况),则需要按以下步骤修改参数innodb_strict_mode为OFF。


完成以上两个修改,重启Navicat,再次运行.sql文件,终于运行成功!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)