zoukankan      html  css  js  c++  java
  • MySQL 导入数据时 2006-MySQLserver has gone away

    MySQL 2006-MySQLserver has gone away

    MySQL 2006-MySQLserver has gone away

    方式一(验证无误):

    找到 mysql安装目录下的my.ini配置文件,加入以下代码:

    max_allowed_packet=2048M

    wait_timeout=288000

    interactive_timeout = 288000

    三个参数注释如下:

    max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求;

    wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。

    max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度

    方式二(网上摘抄暂无验证):

    打开navicat的菜单中的tools,选择server monitor,然后在左列选择 数据库,右列则点选variable表单项,寻找max_allowed_packet,将其值改大。

    汉化版中:在菜单中,工具-->服务器监控-->在左侧数据库列表前打勾-->在右侧变量中找到max_allowed_packet,改大这个值,如9999999999

    mysql设置不区分大小写:

    原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:
    1、用root登录,修改 /etc/my.cnf;
    2、在[mysqld]节点下,加入一行: lower_case_table_names=1
    3、重启MySQL即可;

    其中 lower_case_table_names=1 参数缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0,因此在window中不会遇到的问题,一旦一直到linux就会出问题的原因(尤其在mysql对表起名时是无法用大写字母的,而查询用了大写字母却会出查不到的错误,真是弄的莫名其妙)

    查看通信缓冲区的最大长度:

    show global variables like 'max_allowed_packet';

    默认最大是1M,可以修改通信缓冲区的最大长度,修改为16M:

    set global max_allowed_packet=1024*1024*16;

    再次查询:  

    接下来重新导入,导入成功!

    注:修改只对当前有效, 重启了MySQL他就还是会恢复原来的大小。如果是想永久生效,可以修改配置文件,在my.ini(windows下)或者my.cnf(linux下)加入或修改配置:

    max_allowed_packet = 16M

    重启MySQL服务...

  • 相关阅读:
    mysql修改数据表名
    HDU 5742 It's All In The Mind (贪心)
    HDU 5752 Sqrt Bo (数论)
    HDU 5753 Permutation Bo (推导 or 打表找规律)
    HDU 5762 Teacher Bo (暴力)
    HDU 5754 Life Winner Bo (博弈)
    CodeForces 455C Civilization (并查集+树的直径)
    CodeForces 455B A Lot of Games (博弈论)
    CodeForces 455A Boredom (DP)
    HDU 4861 Couple doubi (数论 or 打表找规律)
  • 原文地址:https://www.cnblogs.com/niewd/p/13773923.html
Copyright © 2011-2022 走看看