MySQL报错Lost connection to MySQL server during query的解决方案
问题描述:
在确保网络没有问题的情况下,服务器正常运行一段时间后,数据库抛出了异常"Lost connection to MySQL server during query",字面意思就是在查询过程中丢失连接到MySQL服务器,抛去网络原因,基本上就是数据库配置项问题。
解决方案:
- 检查
max_allowed_packet
,max_allowed_packet指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会导致数据读写失败。
执行以下SQL查询配置项的值,单位是字节:
show VARIABLES like '%max_allowed_packet%';
根据情况将配置项的值改为适合项目的使用大小,以64MB为例子
set global max_allowed_packet = 64*1024*1024*;
也可以通过修改配置文件,Linux修改my.cnf 文件,Windows修改 my.ini 文件,推荐通过文件修改,需要重启mysql
[mysqld] max_allowed_packet = 64M
通过命令行修改只能临时生效,如果下次数据库重启后对应的配置就会又复原了,因为重启的时候加载的是配置文件里面的配置项
- 检查
wait_timeout
,wait_timeout 默认是28800秒,即mysql链接在无操作8个小时后被自动关闭,如果服务器长时间处于空闲状态,再次访问mysql数据库的时候,数据库会拒绝访问。
执行以下SQL查询配置,单位毫秒
SHOW VARIABLES LIKE 'wait_timeout';
修改参数SQL
set global wait_timeout=28800 * 2;
也可以通过修改配置文件,Linux修改my.cnf 文件,Windows修改 my.ini 文件,推荐通过文件修改,需要重启mysql
[mysqld] wait_timeout = 57600
以上就是MySQL报错Lost connection to MySQL server during query的解决方案的详细内容,更多关于MySQL server during query的资料请关注脚本之家其它相关文章!
相关文章
MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题
这篇文章主要介绍了MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题 ,需要的朋友可以参考下2019-07-07Mysql注入中的outfile、dumpfile、load_file函数详解
这篇文章主要介绍了Mysql注入中的outfile、dumpfile、load_file,需要的朋友可以参考下2018-05-05故障的机器修好后重启,狂拉主库binlog,导致网络问题的解决方法
本文主要记录一次简单的、典型的故障,发生问题的原因很简单,这个问题发生也很简单,各位同学一定要注意,一不留神就会对主库造成影响2016-04-04
最新评论