办理MySQL报错Lost connection to MySQL server during query

打印 上一主题 下一主题

主题 1574|帖子 1574|积分 4724

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题描述:

在确保网络没有问题的情况下,服务器正常运行一段时间后,数据库抛出了非常"Lost connection to MySQL server during query",字面意思就是在查询过程中丢失毗连到MySQL服务器,抛去网络原因,根本上就是数据库设置项问题。

办理方案:


  • 检查max_allowed_packet,max_allowed_packet指mysql服务器端和客户端在一次传送数据包的过程当中最大答应的数据包大小。如果超过了设置的最大长度,则会导致数据读写失败。
执行以下SQL查询设置项的值,单位是字节:
  1. show VARIABLES like '%max_allowed_packet%';
复制代码
根据情况将设置项的值改为适合项目的使用大小,以64MB为例子
  1. set global max_allowed_packet = 64*1024*1024*;
复制代码
也可以通过修改设置文件,Linux修改my.cnf 文件,Windows修改 my.ini 文件,保举通过文件修改,必要重启mysql
  1. [mysqld]
  2. max_allowed_packet = 64M
复制代码
通过下令行修改只能临时收效,如果下次数据库重启后对应的设置就会又复原了,因为重启的时间加载的是设置文件内里的设置项

  • 检查wait_timeout,wait_timeout 默认是28800秒,即mysql链接在无操作8个小时后被自动关闭,如果服务器长时间处于空闲状态,再次访问mysql数据库的时间,数据库会拒绝访问。
执行以下SQL查询设置,单位毫秒
  1. SHOW VARIABLES LIKE 'wait_timeout';
复制代码
修改参数SQL
  1. set global wait_timeout=28800 * 2;
复制代码
也可以通过修改设置文件,Linux修改my.cnf 文件,Windows修改 my.ini 文件,保举通过文件修改,必要重启mysql
  1. [mysqld]
  2. wait_timeout = 57600
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表