这几天搭建本地环境,数据库导入的时候,mysql
数据库出现MySQL server has gone away
错误,查了一番,找到了解决方法……
打开navicat
的菜单中的工具tools
,选择服务器监控server monitor
,然后在左列选择数据库,右列则点选变量variable
表单项,寻找参数max_allowed_packet
,将其值改大。
so
,这个小问题就解决了……mysql
数据库出现MySQL server has gone away
错误一般是sql
语句太大导致了。当然了,如果还是无法解决,下面我整理了一些mysql
查询中碰到MySQL server has gone away
问题:
1 | max_allowed_packet = 1000M |
max_allowed_packet
是mysql
允许最大的数据包,也就是你发送的请求。
wait_timeout
是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006
错误。max_allowed_packet
参数的作用是,用来控制其通信缓冲区的最大长度
1 | ini_set('mysql.connect_timeout', 300); |
在ini_set
后,可以用ini_get
来验证参数设置适合符合预期。
ok
,继续忙了……