一个连接如果长时间空闲,是会自动断开的!你的web服务是不是起来后创建一个连接,在运行过程中每次访问数据库就用这个连接?如果这样可以试试定时去访问一下数据库,最简单的就是定时发送查询语句“SELECT 1”

解决方案 »

  1.   

    Mysql一般在默认请问下,8个小时后,如果没有操作的连接会自动断开,所以,你要想长时间使用一个连接,你必须在未操作8小时之类,使用mysql_ping(conn)命令进行ping一下,当然你也可以用指定命令操作一下。mysql_ping()返回0表示连接有效,返回1表示连接无效。
      

  2.   

    我用postgresql 时也出现此类情况,必须重启服务,才能连上
    我也没有解决,
    我想应该在连接池上花工夫,连接池发现在一定时间内没有数据连接请求时,自动把所有连接都释放掉,
    具体怎样,我也没做研究,也许是在等结果!希望此问题能早点解决!