Mysql server has gone away
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
关于两个变量的具体说明可以google或者看官方手册。如果不能修改my.cnf,则可以在连接数据库的时候设置CLIENT_INTERACTIVE,比如:
interactive_timeout = 2880000
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相关推荐
- 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 ...
- is this mysql server_远程连接MySQL数据库报错:is not allowed to connect to this MYSQL server的解决办法...
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...
- pcntl_fork 导致 MySQL server has gone away 解决方案
pcntl_fork 前连数据库,就会报 MySQL server has gone away 错误.原因是子进程会继承主进程的数据库连接,当mysql返回数据时,这些子进程都可以通过这个连接读到数据 ...
- Possible MySQL server UUID duplication for server
在mysql enterprise monitor监控过程中出现这样的event事件,Topic: Possible MySQL server UUID duplication for serv ...
- 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 ...
- 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 ...
- mysql server远程连接_MySql server:开放mysql远程连接
一般情况下,mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 目前有两种方法可供选择:改表法和授权法. 改表法: 1.登陆mysq ...
- 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 文章性质:原创文章 今天帮主在群里看到有一个兄弟在 ...
- #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) ...
- MySQL server PID file could not be found!
重启mysql提示MySQL server PID file could not be found! Starting MySQL...The server quit without updating ...
最新文章
- 从照片中可视化图像数据
- 猫=图灵机?4项测试证明,「猫猫计算机」可执行任意计算
- 字节跳动获CVPR2021 细粒度图像竞赛双料冠军
- 中小型研发团队架构实践三要点--转
- java 错误日期转正确日期_Java日期格式转换-错误的月份
- 设置utf8编码问题
- linux批量替换文件夹中所有文件内容
- 数据库两个表有一个字段互相关联,根据这个关联字段更新一张表
- cf519D . A and B and Interesting Substrings 数据结构map
- struts2中struts:iterator标签的使用
- 非常详细的机器学习知识点汇总(一)
- 根据ip高精度查地址网址
- Windows7 关闭UAC_频繁提示的权限放行窗口
- 基于matlab的Guass列主元素消去法
- 第三方登陆--狸菇凉_
- linux内核支持浮点吗,浅谈linux kernel对于浮点运算的支持
- windows 用choco 安装nvm
- 作为一个Java初学者,怎样从一个新手快速入门?
- unity抛物线_发射弓箭轨迹的实现
- Premiere Pro之时间轴面板(二)
热门文章
- 自定义Repeater数据控件的一个页面显示效果
- Requested registry access is not allowed 解决办法
- java开发flex_FLEX+Java开发
- 命令关闭手机蓝牙_iPhone手机这些实用的便捷功能,你知道多少?
- 大数据工程师简历_大数据工程师简历范本02
- c语言栈的实现以及操作_C++语言实现顺序栈
- html5支付认证,html5实现微信支付宝接口
- java关键字保留字_Java这个关键字
- Android Picasso教程
- AI入门,从每个人都应该学的AI第一课开始