MySQL 导入数据报错: MySQL server has gone away的解决 - 经验分享 - 微家学院 - 互联网自学第一社区
请选择 进入手机版 | 继续访问电脑版

热点推荐

查看: 131|回复: 0

[数据库] MySQL 导入数据报错: MySQL server has gone away的解决

[复制链接]
  • TA的每日心情
    开心
    2018-8-26 23:25
  • 21

    主题

    23

    帖子

    1万

    积分

    管理员

    Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

    积分
    13331
    学时
    12615
    学分
    637

    学币多多钻石VIP会员好学小子分享达人卓越贡献奖论坛元老

    发表于 2018-9-18 16:04:09 | 显示全部楼层 |阅读模式
    解决方法:
    查看资料,发现了 max_allowed_packet 参数,
    官方解释是适当增大 max_allowed_packet 参数可以使client端到server端传递大数据时,系统能够分配更多的扩展内存来处理。
    查看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后会失效,还原为默认值。
    如果想重启后不还原,可以修改mysql配置文件,添加 max_allowed_packet = 256M 即可。

    windows下配置文件通常所在位置:
    C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 文件


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表