ThinkPHP 6 数据库断线重连
2023-02-25 18:16:11 时间
最近测试发现网站的数据不正常,经过排查,是脚本没正常运行。查看错误日志,发现报SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
错误。
第一时间怀疑是服务器连接数太多,但是使用SHOW FULL PROCESSLIST
查询,进程并不多。
然后再回到报错信息,服务器连接已消失
,为什么会消失呢?
于是求助万能的搜索引擎,找到了《[解决SQLSTATE[HY000]: General error: 2006 MySQL server has gone away问题的方法](https://www.jianshu.com/p/13dfe27b0b95)》。
最后得知,因为脚本是运行在CLI模式,连接数据库之后,一直长时间没与MySQL服务器交互,所以MySQL服务器就断开了与脚本的连接。
问题找到了,那就好解决了!ThinkPHP 自带数据库断线重连,所以只需要开启它就可以了。
打开数据库配置文件/config/database.php
,找到break_reconnect
配置,设置为true
即可。
问题完美解决!
相关文章
- 新特性解读 | MySQL 8.0.31 导入直方图存量数据
- 【Qbot】4.连接mysql/限制使用次数
- MySQL 为什么要使用索引及索引创建的原则有哪些?
- MySQL 6种索引数据结构详解:BTree、B+Tree、红黑树、平衡二叉树、二叉树、Hash
- MySQL 聚集索引(InnoDB)和 非聚集索引(MyISAM) 精讲~两张图彻底搞懂
- MySQL 事务隔离级别 理论+实战分析
- MySQL MVCC 多版本并发控制机制 工作原理
- MySQL : 彻底搞懂一条SQL的执行过程
- 彻底搞懂MySQL主从复制工作原理 2+3+3+4
- MySQL Explain 执行计划详解、写高效SQL、灵活使用索引(实战)
- MySQL 数据库 Schema 设计的性能优化①:高效的模型设计
- 图算法、图数据库在风控场景的应用
- 客快物流大数据项目(九十一):ClickHouse的数据库引擎
- 零基础学SQL注入必练靶场之SQLiLabs(搭建+打靶)
- aws生产实践-33:aurora查看触发死锁的sql
- C/C++ Qt 数据库与Chart实现历史数据展示
- C/C++ Qt 数据库SqlRelationalTable关联表
- C/C++ Qt 数据库与SqlTableModel组件应用
- C/C++ Qt 数据库与TableView多组件联动
- C/C++ Qt 数据库与ComBox多级联动