zoukankan      html  css  js  c++  java
  • mysql导入大批量数据出现MySQL server has gone away的解决方法

    因工作需要,需要导入一个200M左右的sql到数据库

    用navicate导入会出现MySQL server has gone away是因为数据过大,需要调整参数:如下

    查看mysql max_allowed_packet的值

    mysql> show global variables like 'max_allowed_packet';
    +--------------------+---------+
    | Variable_name      | Value   |
    +--------------------+---------+
    | max_allowed_packet | 4194304 |
    +--------------------+---------+

    可以看到是4M,然后调大为256M(1024*1024*256)

    mysql> set global max_allowed_packet=268435456;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show global variables like 'max_allowed_packet';
    +--------------------+-----------+
    | Variable_name      | Value     |
    +--------------------+-----------+
    | max_allowed_packet | 268435456 |
    +--------------------+-----------+
    1 row in set (0.00 sec)

    修改后执行导入,一切正常,解决问题。 

    使用set global命令修改 max_allowed_packet 的值,重启mysql后会失效,还原为默认值。

    如果想重启后不还原,可以打开 my.cnf 文件,添加 max_allowed_packet = 256M 即可。

  • 相关阅读:
    LeetCode70.爬楼梯
    LeetCode9.回文数
    LeetCode8.字符串转整数(atoi)
    LeetCode7.反转整数
    Docker深入浅出3-镜像管理
    Docker深入浅出3-容器管理
    Docker深入浅出2
    Docker深入浅出1
    Docker启动mysql的坑2
    各种常见兼容代码
  • 原文地址:https://www.cnblogs.com/Basu/p/7856704.html
Copyright © 2011-2022 走看看