zoukankan      html  css  js  c++  java
  • 如何解决mysql数据库8小时无连接自动关闭

    windows下打开my.ini,增加:
    interactive_timeout=28800000
    wait_timeout=28800000






        专家解答:MySQL是一个小型关系型数据库管理系统,由于MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。


     


        关于mysql自动关闭服务的现象,可以通过mysql服务器端程序mysql Administrator调整连接参数。将max_connections max_updates max_questions三项数据调整到很大的数字,那么你有限的操作将不会导致数据库服务的终止了在MySQL数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是 WEB 应用程序出错。解决mysql数据库自动关闭服务三个方法:


     


    方法一:这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。
    修改操作:


     




    linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
    [mysqld]
    interactive_timeout=28800000
    wait_timeout=28800000


     


    windows下打开my.ini,增加:
    [mysqld]
    interactive_timeout=28800000
    wait_timeout=28800000




    有实践表明,没有办法把这个值设置成无限大,即永久。因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。


     


    方法二:修改如下JDBC连接的 URL:


     




    jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
    添加 autoReconnect=true 这个参数,即能解决这个问题。


     


     


    方法三:配置文件(proxool.xml):


     




    mysql




    jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8




    com.mysql.jdbc.Driver


     


    90000




    20




    3




    20




    3




    true
    true




    SELECT CURRENT_USER 


     


    专家建议关于mysql自动关闭服务的三个方法,用户最好采取第一个办法最为彻底解决。
  • 相关阅读:
    GitLab 自动触发 Jenkins 构建
    微服务监控探索
    使用QUIC
    非对称加密与证书(上篇)
    Vue框架核心之数据劫持
    如何实现最佳的跨平台游戏体验?Unity成亮解密实时渲染
    网易易盾验证码的安全策略
    CodeForces 339C Xenia and Weights(暴力求解DFS)
    CodeForces 339D Xenia and Bit Operations (线段树)
    CodeForces 339B Xenia and Ringroad(水题模拟)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318428.html
Copyright © 2011-2022 走看看