有时候,mysql会爆出MySQL server has gone away,比如像这样:

wKioL1gTEzaCqGOpAAA9VDFYxGM518.png


目前我遇到的这样的情况有三种解决方法:


1)需要添加白名单,这种情况在云服务器上比较常见。在云商后台里把对应机器添加到rds白名单即可;


2)调整一下服务器的时间,一般来说这样的情况在虚拟机上常见,检查一下虚拟机时间是否与宿主机时间不同,如果不同,请#yum -y -q install ntp,然后#ntpdate -b  time5.aliyun.co


3)导入一个比较大的sql文件也会出现这样的错误,

> mysql test < 91620_all.sql
ERROR 2006 (HY000) at line 17128: MySQL server has gone away

因为有些mysql默认导入文件的大小是16M,一般来说16M的空间是够用的,但是工作中难免有例外,所以大于16M文件导入的话就会报错,所以需要#mysql --max_allowed_packet=32M,来适当调整一下即可。