在使用 SQL Server 时,偶尔会遇到“SQL Server has gone”这一错误,这通常意味着 SQL Server 正在意外中断连接,可能是因为网络问题、服务器崩溃、或者数据库服务被强制关闭等原因。为了有效解决这一问题,下面我将详细记录解决“SQL Server has gone”问题的过程,涉及协议背景、抓包方法、报文结构、交互过程、性能优化及扩展阅读几个模块。
## 协议背景            
                
         
            
            
            
            应用程序(比如PHP)长时间的执行批量的MYSQL语句。执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。都容易引起MySQLserver has gone away。今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away。大概浏览了一下,主要可能是因为以下几种原因:一种可能是发送的SQL语句太长,以致超            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-02 21:40:59
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            之前遇到开发询问“mysql server has gone away”的问题,想当然的就认为是由于太长时间没有操作,导致超过MySQL服务端上的wait_timeout的设置,最终连接被MySQL服务端回收了。最近一次突然自己同事写的脚本在运行过程中被中断了,查看报错信息依然是“mysql server has gone away”,同事的脚本在多个MySQL实例上根据时间范围取值,虽然执行时间            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-29 16:24:07
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            抄的别人的,觉得写的特别好 
 val FILESOURCE_TABLE_RELATION_CACHE_SIZE = 
 buildStaticConf("spark.sql.filesourceTableRelationCacheSize") 
org.apache.spark.sql.catalyst.catalog.SessionCatalo            
                
         
            
            
            
            (1) Statement —— SQL语句执行接口    Statement接口代表了一个数据库的状态,在向数据库发送相应的SQL语句时,都需要创建Statement接口或者PreparedStatement接口。在具体应用中,Statement主要用于操作不带参数(可以直接运行)的SQL语句,比如删除语句、添加或更新。(2) PreparedStatement:预            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-09 23:00:42
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL server has gone away 
有时候使用MySQL命令行导入备份时会出现“MySQL server has gone away”错误,这可能是因为其中一些insert语句的大小超出了mysql目前设置的缓冲区大小。 
SplitInsert可以拆分所有大的insert语句,使每条insert语句只负责插入一个数据行,这样再导入mysql            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2011-02-15 08:59:48
                            
                                603阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            应用程序(比如PHP)长时间的执行批量的MYSQL语句。执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。都容易引起MySQL server has gone away。
今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away。
大概浏览了一下,主要可能是因为以下几种原因: 
一种可能是发送的S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-08-07 10:01:14
                            
                                717阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-06-29 11:05:00
                            
                                103阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # 解决 Zabbix MySQL server has gone away 问题
## 简介
在使用 Zabbix 监控系统时,有时会遇到 "Zabbix MySQL server has gone away" 的错误。这个错误表示 Zabbix 无法连接到 MySQL 数据库。在本文中,我将分步骤指导你如何解决这个问题。
## 解决步骤
下面是解决 "Zabbix MySQL server            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-29 10:30:32
                            
                                195阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## 如何解决“MySQL server has gone away”错误
在开发过程中,我们可能会遇到“MySQL server has gone away”这个错误。这通常指的是MySQL服务器在数据传输过程中意外关闭,从而导致客户端无法继续与其通信。本篇文章将详细介绍如何排查和解决这个问题。
### 解决流程
首先,我们可以将整个解决过程分为以下几个步骤:
| 步骤            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-21 06:29:12
                            
                                84阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             centos5.5 x64
 
在出问题之前我对数据库做了一系列的优化内容,其中包括了
wait_timeout=2880000
interactive_timeout = 2880000
我优化后修改为
wait_timeout=60
interactive_timeout = 60
 
经过一段时间后查看程序LOG,发现出现MySQL serv            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2012-03-30 16:25:04
                            
                                416阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            程序报错: MySQL server has gone away 是什么意思? 如何避免?看到一篇外文blog总结的比较好,就翻译过来了。原文:http://ronaldbradford.com/blog/sqlstatehy000-general-error-2006-mysql-server-has-gone-away-2013-01-02/原因1. MySQL 服务宕了判断是否属于这个原因的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2015-01-09 13:20:27
                            
                                850阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            The MySQL server has gone away has two main causes and solutions:Server timed out and closed the connection. To fix, check that “wait_timeout” mysql variable in your my.cnf configuration file is large            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2016-09-09 16:43:07
                            
                                786阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            有可能是密码错误,认证失败。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2015-12-09 09:52:20
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL Server has Gone Away
## Introduction
MySQL server has gone away is a common error message that appears when the connection between a client and the MySQL server is lost. This error can occur            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-03 17:42:03
                            
                                75阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            php程序执行报错:MySQL server has gone away。
  大概浏览了一下,主要可能是因为以下几种原因:
  一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可。
   还有一种可能是因为某些原因导致超时,比如说程序中获取数据库连接时采用了Singl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2011-04-12 15:44:14
                            
                                483阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL server has gone away 该错误为导入较大SQL文件出现的 解决办法: 查看接受包的大小 show variables like '%max_allowed_packet%' 修改接受包的大小为1G set global max_allowed_packet = 1024            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2020-10-24 17:00:00
                            
                                285阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、MySQL server has gone away  mysql数据库出现这种问题是一个很不友好的错误提示,需要多方位的考虑,才能定位问题所在。
出现这个问题主要要考虑到下面三点:1、wait_timeoutwait_timeout 默认是28800,单位秒,即8个小时,除非你改小了,基本上就可以排除这个问题。 2、interactive_timeout interactiv            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-10-15 16:52:17
                            
                                2898阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQLserverhasgoneaway场景:mysql备份进行导入时报这个错原因:导入的数据过大,超过了mysql的默认大小限制解决:查看mysql设置:showglobalvariableslike'max_allowed_packet';调整mysql设置(限制大小为16G,根据需要自己调整):setglobalmax_allowed_packet=1024102416;            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-03-19 10:09:17
                            
                                1846阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我碰到这个问题是因为一次插入的数据量比较大,超过限制了,修改以下参数即可:修改参数:mysql> set global             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-07-05 17:30:55
                            
                                99阅读