mysql错误码 2013 解决方案
这篇笔记聚焦脚本长时间持续写入 MySQL 时出现的 2013 错误,即客户端已建立连接并发起 SQL 后,在查询执行过程中与服务端断开。正文先梳理常见诱因,包括慢 SQL 超过 net_read_timeout 或 net_write_timeout、网络或容器中断、MySQL 被重启或 kill、连接池复用失效连接,以及空闲连接被 wait_timeout、interactive_timeout 回收。作者进一步指出自己的场景并非典型慢查询或服务端异常,而是纯 SQL 脚本中每个函数都手动 connect 和 close,导致连接建立、认证、释放过于频繁,可能触发连接数压力、连接未就绪即查询、或查询尚未结束就关闭连接等问题。解决方案采用全局 DBManager 管理单例 SyncMySQLSDK 连接,通过 get_dsn_sdk 按需创建并复用连接,避免在大量函数签名中补传 session,降低改造和测试成本。管理器还提供 check_and_release 按空闲时间释放连接、force_release_all 在脚本退出时强制清理,并用 threading.Lock 保护多线程场景下的连接状态。该方案适合爬取、报表、批处理等长时间运行且频繁读写数据库的脚本,可减少连接抖动和资源消耗,但仍应结合超时配置、慢查询、服务端稳定性与网络状态一起排查。


![rocketmq 配置环境[python]](https://cdn.jacin.me/discourse/original/1X/103b1317f100dc47d73f47b37b6aee7f70194850.jpeg)