北京SEO

General error: 2006 MySQL server has gone away

2019/10/10/17:35:45  阅读:1809  来源:谷歌SEO算法  标签: SEO知识

如果我们单看mysql提示MySQL server has gone away就是由于种种原因导致mysql当机了,导致MySQL server has gone away的原因有很多种,下面我来总结一下.

我自己人的经历:先简单介绍一下这个新手卡录入后台,这个后台是提供给产品人员使用,可以向某个游戏的某个特定分区批量录入新手卡信息,方便玩家获取,后台设置的一次性最大录入量为500.

先看日志吧,报错的内容和日志的相同:

Error: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

这个错误信息很好的描述了是数据库超时引起的,以前听前辈说过,应该是wait_timeout环境变量设置的有问题,可是查看后,发现wait_timeout设的好高啊,为28800,不应该出问题啊,无解.

回来后,诉说,头笑而不语,让我只看,别说话,代码如下:

  1. showglobalvariables; --phpfensi.com
  2. setglobalwait_timeout=120;

总结解决了,但很多MySQL server has gone away都与此问题无关了,都有和max_allowed_packet有关了,导入数据库的时候 SQLyog 报错了.

Error Code: 2006 – MySQL server has gone away

搜了下,说是max_allowed_packet,MySQL的一个参数,设置的值不够大,那我改下就行了 嘿嘿.

  1. InWindows:
  2. IntheMySQLserverinstallationdirectory,
  3. inmy.inifile,addthefollowinglineunder[mysqld]inSERVERSECTION.
  4. max_allowed_packet=16M
  5. InLinux:
  6. Copythemy-xxx.cnffilefrom/usr/share/mysqlto/etcasmy.cnf
  7. xxxcanbesmall,medium,large,huge…dependingontherequirement.
  8. --代码如下
  9. $cp/usr/share/mysql/my-xxx.cnf/etc/my.cnf
  10. Inthemy.cnffile,changethedefault
  11. max_allowed_packet=1M
  12. to
  13. max_allowed_packet=16M
  14. SavethefileandrestartMySQLserver.

今天导入.sql文件时出现了Error Code:2006 – MySQL server has gone away错误,原来是导入的sql文件大于系统默认的max_allowed_packet的值,查了很多修改配置文件的,但是没有找到my.cfg文件,修改其他文件不管用,所以直接使用sql语句来修改,代码如下:

SET GLOBAL max_allowed_packet=67108864;

就可以了,不是max_allowed_packet越大越好,大家可根据自己人情况来设置.

广告内容

General error: 2006 MySQL server has gone away General error: 2006 MySQL server has gone away General error: 2006 MySQL server has gone away

相关阅读

热门评论

小浪SEO博客 小浪SEO博客

专注SEO优化思维、SEO技术的实战分享类博客~

总篇数183

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法