zoukankan      html  css  js  c++  java
  • mysql time_out超时

    出现下面异常

    com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

    The last packet sent successfully to the server was 0 milliseconds ago

    改mysql的wait_timeout时间,单位为秒;缺省情况下,wait_timeout的初始值是28800(mysql 查询命令;show variables like  '%timeout%')

    linux(/etc/目录)为修改my.cnf 最长365天

    windows 为my.ini 最长24天

    不太建议上面这种改法,用户大数据库连接很可能爆掉;

    可修改连接池的的超时时间

    <?xml version="1.0" encoding="UTF-8"?>
    <proxool>
    <alias>control</alias>
    <driver-url><![CDATA[jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=UTF-8&connectTimeout=60000&socketTimeout=60000&zeroDateTimeBehavior=convertToNull]]></driver-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
    <property name="user" value="root"></property>
    <property name="password" value=""></property>
    </driver-properties>

    <!--

    保留线程处于睡眠状态的最长时间,house keeper 的职责就是检查

    各个连接的状态,并判断是否需要销毁或者创建.

    -->
    <house-keeping-sleep-time>90000</house-keeping-sleep-time>
    <maximum-new-connections>20</maximum-new-connections>
    <prototype-count>5</prototype-count>

    <!--定义在从数据库最大连接数 -->   

    <maximum-connection-count>800</maximum-connection-count>

    <!--定义在从数据库最小连接数 --> 

    <minimum-connection-count>10</minimum-connection-count>
    <maximum-connection-lifetime>14400000</maximum-connection-lifetime>
    <test-before-use>true</test-before-use>
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
    </proxool>

    上面的单位为毫秒级别,maximum-connection-lifetime改为小于mysql超时时间,但是还不起效果;再看连接字符串connectTimeout小于house-keeping-sleep-time,所以把连接超时时间改为180000(30分钟)

    socketTimeout也改为180000

  • 相关阅读:
    【分区】使用 MBR 分区表分区并格式化
    微信小程序公司开发前必读
    Delphi 经典书籍
    sybase 通过select into创建新表
    sybase 创建触发器
    delphi 判断exe重复执行
    git 的诞生
    git 常用命令
    mvn spring-boot:run运行不了的解决办法
    git 提交代码
  • 原文地址:https://www.cnblogs.com/ytmf007/p/10978111.html
Copyright © 2011-2022 走看看