领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

mysql 8 导入Row size too large or[Err] 2006 – MySQL Server Has Gone Away

nixiaole 2024-12-18 16:10:34 知识剖析 11 ℃

mysql 导入大数据的时候,经常会碰到Row size too large 或者[Err] 2006 – MySQL Server Has Gone Away,这样的错误提示。

如下操作可以解决。

确认 Mysql 默认引擎为 InnoDB:

MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表注重性能,其执行速度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外键等高级数据库功能。

show engines


如果不是,修改默认引擎:

在配置文件中的 [mysqld] 下面加入default-storage-engine=INNODB,然后重启服务器。

修改max_allowed_packet变量参数

此参数指mysql服务器端和客户端在一次传送数据包的过程当中,最大允许的数据包大小。

使用navicat, 依次点击“工具”->”服务器监控”->”MySQL”,打开服务器监控界面,选中连接的服务器,在“变量”标签中找到 max_allowed_packet,根据实际情况调大该值。



修改服务器端导入文件大小的限制,修改mysql 配置文件

修改服务端的 mysql 配置文件(Windows系统是my.ini,Linux系统是my.cnf)中的 max_allowed_packet 配置项。


查询参数确认

show VARIABLES like '%max_allowed_packet%';




Tags:

最近发表
标签列表