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


    最快办法:执行下方语句,单次有效。

    SET GLOBAL max_allowed_packet=30*1024*1024
     
    如果想彻底更改,在安装mysql的文件夹下找到my.ini 文件,在文件末尾添加 max_allowed_packet=24M;
     
    下方是详细的介绍:

    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文件安装盘的空间是否足够。                                     

  • 相关阅读:
    魔法方法中的__str__和__repr__区别
    新建分类目录后,点击显示错误页面?
    3.用while和for循环分别计算100以内奇数和偶数的和,并输出。
    2.for循环实现打印1到10
    1.while循环实现打印1到10
    021_for语句
    014_运算符_字符串连接
    020_while语句
    019_增强switch语句
    018_switch语句
  • 原文地址:https://www.cnblogs.com/cuijiade/p/8602864.html
Copyright © 2020-2023  润新知