MYSQL数据库导入大数据量sql文件失败的解决方案

Posted my小月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL数据库导入大数据量sql文件失败的解决方案相关的知识,希望对你有一定的参考价值。

1.在讨论这个问题之前首先介绍一下什么是“大数据量sql文件”。

导出sql文件。选择数据库-----右击选择“转储SQL文件”-----选择"结构和数据"  。保存文件db_mras.sql文件。

2.导入sql文件。在mysql中新建数据库db_mras。选择数据库-----右击选择“运行SQL文件”-----选择文件db_mras.sql,运行。

现在发现运行失败,提示错误“MySQL server has gone away” 。针对该问题提出如下解决方案:

提示该错误意思是:客户端与mysql的链接断开了,原因一般为sql运行时间过长或者sql文件太大。

排查问题原因:

(1)mysql服务宕了

运行命令:show  global status like  \'uptime\';    如果uptime的值很大 表明最近mysql服务没有重启。  若日志也没有相关信息,表明服务没有重启过,可以排除这个可能了。

(2)mysql链接超时

运行命令:show global variables  like \'%timeout\'; 查看运行结果中wait_timeout的值,一般为28800。代表mysql在误操作28800秒之后链接会关闭。

(3)mysql文件过大

运行命令:show global variables  like \'max_allowed_packet\';   查看运行结果max_allowed_packet的值 ,如果过小,需要调整大。

解决方法:

在mysql的my.ini文件末尾加如下几句话: wait_timeout=2880000;     interactive_time=2880000;    max_allowed_packet=16M;  

其中max_allowed_packet代表控制其缓存区的最大长度。 wait_timeout代表无操作链接等待时间。

修改完以上参数之后重启mysql服务。

查看是否修改成功:运行命令:show global variables  like \'%timeout\';      show global variables  like \'max_allowed_packet\';

  小贴士:如果找不到my.ini文件可以运行命令:mysql --help|grep my.ini 来查找文件路径。  

注意:如果以上办法没有解决你的问题,你还需要查看你的mysql文件安装盘的空间是否足够。                                     

 

以上是关于MYSQL数据库导入大数据量sql文件失败的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

解决Mysql导入大数据出现gone away的问题

宝塔linux 导入mysql 大文件失败的问题

使用控制台导入大数据量的sql文件来提高效率

mysql 的sql文件太大怎么导入

如何在mysql中批量导入大的sql文本文件

mysql导入sql文件失败怎么办