php程序执行报错:MySQL server has gone away。

  大概浏览了一下,主要可能是因为以下几种原因:

  一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可。

   还有一种可能是因为某些原因导致超时,比如说程序中获取数据库连接时采用了Singleton的做法,虽然多次连接数据库,但其实使用的都是同一个连 接,而且程序中某两次操作数据库的间隔时间超过了wait_timeout(SHOW STATUS能看到此设置),那么就可能出现问题。最简单的处理方式就是把wait_timeout改大,当然你也可以在程序里时不时顺手 mysql_ping()一下,这样MySQL就知道它不是一个人在战斗。

  解决MySQL server has gone away

  1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。

  解决方案:

  在my.cnf文件中添加或者修改以下两个变量:

wait_timeout=2880000
interactive_timeout = 2880000  
关于两个变量的具体说明可以google或者看官方手册。如果不能修改my.cnf,则可以在连接数据库的时候设置CLIENT_INTERACTIVE,比如:

sql = "set interactive_timeout=24*3600";
mysql_real_query(...)

  2、执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理

  解决方案:

  在my.cnf文件中添加或者修改以下变量:

max_allowed_packet = 10M(也可以设置自己需要的大小)

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

转载于:https://blog.51cto.com/gohome/542682

Mysql server has gone away相关推荐

  1. Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)

    安装了mysql, 使用命令mysql -u root -p 弹出Can 't connect to local MySQL server through socket '/tmp/mysql.soc ...

  2. is this mysql server_远程连接MySQL数据库报错:is not allowed to connect to this MYSQL server的解决办法...

    1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...

  3. pcntl_fork 导致 MySQL server has gone away 解决方案

    pcntl_fork 前连数据库,就会报 MySQL server has gone away 错误.原因是子进程会继承主进程的数据库连接,当mysql返回数据时,这些子进程都可以通过这个连接读到数据 ...

  4. Possible MySQL server UUID duplication for server

     在mysql enterprise monitor监控过程中出现这样的event事件,Topic: Possible MySQL server UUID duplication for serv ...

  5. Can‘t connect to local MySQL server through socket ‘/home/mysql/mysql-5.6.33/mysql.sock

    登录MySQL的时候出现这个问题 原因是在 tmp目录下没有mysql.sock这个文件 我们需要创建一个软连接到该目录下 [root@test /]# mysql -u root -p Enter ...

  6. MariaDB: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 Connection refused)

    MariaDB : ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 "Connection ref ...

  7. mysql server远程连接_MySql server:开放mysql远程连接

    一般情况下,mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 目前有两种方法可供选择:改表法和授权法. 改表法: 1.登陆mysq ...

  8. cann't connect to db! mysql!,解决SQL Error: Can't connect to MySQL server on错误

    解决SQL Error: Can't connect to MySQL server on错误 文章来源:传奇帮手游 发布时间:2020-12-02 文章性质:原创文章 今天帮主在群里看到有一个兄弟在 ...

  9. #2002-The server is not responding (or the local MySQL server's socket is not correctly configur

    #2002-The server is not responding (or the local MySQL server's socket is not correctly configured) ...

  10. MySQL server PID file could not be found!

    重启mysql提示MySQL server PID file could not be found! Starting MySQL...The server quit without updating ...

最新文章

  1. 从照片中可视化图像数据
  2. 猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算
  3. 字节跳动获CVPR2021 细粒度图像竞赛双料冠军
  4. 中小型研发团队架构实践三要点--转
  5. java 错误日期转正确日期_Java日期格式转换-错误的月份
  6. 设置utf8编码问题
  7. linux批量替换文件夹中所有文件内容
  8. 数据库两个表有一个字段互相关联,根据这个关联字段更新一张表
  9. cf519D . A and B and Interesting Substrings 数据结构map
  10. struts2中struts:iterator标签的使用
  11. 非常详细的机器学习知识点汇总(一)
  12. 根据ip高精度查地址网址
  13. Windows7 关闭UAC_频繁提示的权限放行窗口
  14. 基于matlab的Guass列主元素消去法
  15. 第三方登陆--狸菇凉_
  16. linux内核支持浮点吗,浅谈linux kernel对于浮点运算的支持
  17. windows 用choco 安装nvm
  18. 作为一个Java初学者,怎样从一个新手快速入门?
  19. unity抛物线_发射弓箭轨迹的实现
  20. Premiere Pro之时间轴面板(二)

热门文章

  1. 自定义Repeater数据控件的一个页面显示效果
  2. Requested registry access is not allowed 解决办法
  3. java开发flex_FLEX+Java开发
  4. 命令关闭手机蓝牙_iPhone手机这些实用的便捷功能,你知道多少?
  5. 大数据工程师简历_大数据工程师简历范本02
  6. c语言栈的实现以及操作_C++语言实现顺序栈
  7. html5支付认证,html5实现微信支付宝接口
  8. java关键字保留字_Java这个关键字
  9. Android Picasso教程
  10. AI入门,从每个人都应该学的AI第一课开始