Thinkphp 的怎么实现 mysql 数据库连不上时自动重连

2018-03-15 10:07:31 +08:00
 frozenway

php 的代码放到阿里的香港地区,而 mysql 放到深圳,最近晚上经常报这个错误:ERR: SQLSTATE[HY000] [2006] MySQL server has gone away,或者这个:ERR: SQLSTATE[HY000] [2002] Connection timed ou 怎么让实现连不上时自动重新尝试连接几次,因为其他原因,数据库不能放到香港

2787 次点击
所在节点    PHP
4 条回复
cnqncom
2018-03-15 10:38:00 +08:00
呵呵,这个问题嘛
可以在程序里做个判断,如果连接不上就去重新连接一次呗
不过,这样的话岂不是你的网站很卡咯
picone
2018-03-15 10:54:01 +08:00
问题定位错了?
PHP 是每个请求来的时候连接数据库的,如果大量日志在某个时刻报 connection timeout 的话,应该是 MySQL 挂了。
如果是守护程序的话,那就另行分析了。
947211232
2018-03-16 13:52:42 +08:00
连接报错->sleep 时间->回调:重连练接+限定次数
947211232
2018-03-16 13:53:32 +08:00
重新连接。。手动滑稽:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/438208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX