mysql导入SQL大文件报错解决方案

今天在还原mysql备份文件时报错,试错过程中找到了解决办法 现分享如下

mysql导入SQL大文件报错解决方案_第1张图片

解决方案

一.修改MySQL配置

my.ini配置文件修改
一般在C:\ProgramData\MySQL\MySQL Server 5.7这个位置。

找到MySQL安装目录下的my.ini配置文件,查找修改max_allowed_packet参数,再增加wait_timeout、interactive_timeout两项参数,详细如下。
max_allowed_packet:用来控制其通信缓冲区的最大长度。是mysql允许最大的数据包(默认大小4M),遇到大的数据库文件导入时经常报错;
wait_timeout:# 服务器关闭非交互连接之前等待活动的秒数;
interactive_timeout:服务器关闭交互式连接前等待活动的秒数;
两个值可自定义,但如果设置时间太短,容易超时后出现MySQL server has gone away [ERR]2006错误;

(注意:需要同时设置wait_timeout和interactive_timeout才会生效;如果报“too many connections”的错误,可以对这两个参数进行适当调小些。)
改一增二:
max_allowed_packet=2000M
wait_timeout=2880000
interactive_timeout = 2880000
mysql导入SQL大文件报错解决方案_第2张图片
2.修改支持中文字符集编码
客户端默认的字符集default-character-set参数不支持中文,可以设置成gbk或utf8来支持中文

查找这两个参数修改为utf-8(默认为空)
default-character-set=utf8
character-set-server=utf8

每次修改参数后,必须重新启动MySQL服务才会有效!
mysql导入SQL大文件报错解决方案_第3张图片
实践
mysql导入SQL大文件报错解决方案_第4张图片

mysql导入SQL大文件报错解决方案_第5张图片

第二种方案

二.修改Navicat的"max_allowed_packet"参数

在菜单栏——工具——服务器监控——MySQL——勾选左侧的mysql服务——变量——在变量里寻找max_allowed_packet,将其值改大,改为最大值!!!如果超过他的值,会提示并自动设为最大值。

mysql导入SQL大文件报错解决方案_第6张图片
mysql导入SQL大文件报错解决方案_第7张图片

mysql导入SQL大文件报错解决方案_第8张图片

你可能感兴趣的:(MYSQL,mysql导入sql文件,mysql还原文件报错)