V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
frozenway
V2EX  ›  PHP

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

  •  
  •   frozenway · 2018-03-15 10:07:31 +08:00 · 2796 次点击
    这是一个创建于 2464 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    4 条回复    2018-03-16 13:53:32 +08:00
    cnqncom
        1
    cnqncom  
       2018-03-15 10:38:00 +08:00
    呵呵,这个问题嘛
    可以在程序里做个判断,如果连接不上就去重新连接一次呗
    不过,这样的话岂不是你的网站很卡咯
    picone
        2
    picone  
       2018-03-15 10:54:01 +08:00
    问题定位错了?
    PHP 是每个请求来的时候连接数据库的,如果大量日志在某个时刻报 connection timeout 的话,应该是 MySQL 挂了。
    如果是守护程序的话,那就另行分析了。
    947211232
        3
    947211232  
       2018-03-16 13:52:42 +08:00
    连接报错->sleep 时间->回调:重连练接+限定次数
    947211232
        4
    947211232  
       2018-03-16 13:53:32 +08:00
    重新连接。。手动滑稽:)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2369 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:34 · PVG 23:34 · LAX 07:34 · JFK 10:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.