• Too many connections


    在一次启动项目的过程中报了如下一个错误信息:

    [ERROR] [2019-03-20 13:14:43] com.alibaba.druid.pool.DruidDataSource.init(629) | init datasource error
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
        at com.mysql.jdbc.Util.getInstance(Util.java:383)

    意思是说链接太多了,分析下会出现这种情况的原因:

    1.查看代码,是否在获取数据库连接,访问完数据库之后没有及时关闭数据库连接,释放资源

    2.查看连接进程结束时间 wait_timeout — 指的是mysql在关闭一个非交互的连接之前所要等待的秒数

    如果你没有修改过MySQL的配置,wait_timeout的初始值是28800

    wait_timeout 过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题

    3.看数据库的连接数设置,Mysql默认是100,以及增大数据库最大连接数

    SHOW VARIABLES LIKE '%max_con%';

    修改:(一般设置范围在500-1000之间)

    SET GLOBAL max_connections = 1000;

    可在MySQL配置文件my.ini直接找到对应的连接数max_connections和等待时间wait_timeout直接修改

    如有需要可以加我Q群【308742428】大家一起讨论技术。

    后面会不定时为大家更新文章,敬请期待。

    喜欢的朋友可以关注下。
     

  • 相关阅读:
    webform单选、复选
    webform下拉列表、列表框
    webform文本框 、显示文字、按钮、跳转页面、页面传值
    sol函数初级查询,去重、分组、排序
    sql基础
    递归
    函数有多个返回值
    Hibernate (开放源代码的对象关系映射框架)介绍
    extjs介绍
    easyui介绍
  • 原文地址:https://www.cnblogs.com/dsn727455218/p/10564410.html
Copyright © 2020-2023  润新知