frozenway
V2EX  ›  PHP

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

  •  
  •   frozenway · Mar 15, 2018 · 3307 views
    This topic created in 2995 days ago, the information mentioned may be changed or developed.

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

    4 replies    2018-03-16 13:53:32 +08:00
    cnqncom
        1
    cnqncom  
       Mar 15, 2018
    呵呵,这个问题嘛
    可以在程序里做个判断,如果连接不上就去重新连接一次呗
    不过,这样的话岂不是你的网站很卡咯
    picone
        2
    picone  
       Mar 15, 2018
    问题定位错了?
    PHP 是每个请求来的时候连接数据库的,如果大量日志在某个时刻报 connection timeout 的话,应该是 MySQL 挂了。
    如果是守护程序的话,那就另行分析了。
    947211232
        3
    947211232  
       Mar 16, 2018
    连接报错->sleep 时间->回调:重连练接+限定次数
    947211232
        4
    947211232  
       Mar 16, 2018
    重新连接。。手动滑稽:)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3841 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 00:48 · PVG 08:48 · LAX 17:48 · JFK 20:48
    ♥ Do have faith in what you're doing.