报错如下:
2006 - MySQL server has gone away
问题:连接服务器超时,影响原因很多,比如数据包过大等。。
1153 - Got a packet bigger than 'max_allowed_packet' bytes
问题:MySQL默认读取执行的SQL文件最大为16M,当导入文件过大会是超出部分导入失败
解决:找到my.ini文件(Windows下)定位到相应参数的地方,修改参数默认值即可,例如,打开mysql的配置文件找到默认参数如下图:
此时在mysql中查看参数max_allowed_packet会有:
我只有4M的大小,注意用获取管理员权限后将该参数值改为自己想要的大小如下图:
改好保存后需要重启mysql服务,这时再查看参数如下:
参数值成功修改!
。。。。如果还有超时的报错,就在my.ini中定位到[mysqld],在后面添加以下代码:
wait_timeout=288000
interactive_timeout = 288000
tips:
max_allowed_packet是mysql允许最大的数据包;
wait_timeout是等待的最长时间,自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误;
max_allowed_packet用来控制其通信缓冲区的最大长度。
查看当前配置语句:
show VARIABLES like ‘%max_allowed_packet%’;
关于快速寻找当前mysql服务的my.ini文件可以使用如下方法:
在计算机中右键菜单选中“管理”
进去找到“服务”中的”MYSQL57”(服务名以本机为主)
右键服务名MYSQL57查看属性,“可执行文件路径”中的default-file参数就是该服务启动的配置文件
重启mysql服务
方法一
在cmd中执行以下,mysql57服务名以自己的为主
net stop mysql57
net start mysql57
方法二
在计算机管理中找到mysql服务右键重启服务即可