2006: MySQL server has gone away(MySQL 服务器已断开)
MySQL含义
客户端与服务器之间的连接在执行命令期间丢失。服务器可能关闭了连接或拒绝了数据包。
原因
空闲连接因 wait_timeout/interactive_timeout 到期而被关闭、查询/数据大于 max_allowed_packet、服务器重启或崩溃,或网络中断。
解决方法
对于空闲连接问题,在连接池中使用连接校验并检查 wait_timeout。如果发送大量数据,增大 max_allowed_packet(如 SET GLOBAL max_allowed_packet = 64*1024*1024,写入 my.cnf 以持久化)。在服务器日志中检查重启/崩溃和 OOM 痕迹。在应用中为断开的连接添加重连逻辑。
同一数据库的其他条目
- 1054Unknown column in field list(字段列表中存在未知列)
- 2002Can't connect to local MySQL server through socket(无法通过 socket 连接到本地 MySQL 服务器)
- 2003Can't connect to MySQL server (TCP/IP)(无法连接到 MySQL 服务器(TCP/IP))
- 1114The table is full(表已满)
- 1215Cannot add foreign key constraint(无法添加外键约束)
- 1451Cannot delete or update a parent row: a foreign key constraint fails(无法删除或更新父行:外键约束失败)
- 1452Cannot add or update a child row: a foreign key constraint fails(无法添加或更新子行:外键约束失败)