zoukankan      html  css  js  c++  java
  • 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】大家一起讨论技术。

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

    喜欢的朋友可以关注下。
     

  • 相关阅读:
    python面向对象(一)
    ls和cd命令详解
    SHELL 中的变量
    Shell基础
    Python版飞机大战
    Python模块制作
    Linux的cut命令
    Linux中的wc命令
    Ubuntu系统下adb devices 不能显示手机设备
    app耗电量测试工具--PowerTutor
  • 原文地址:https://www.cnblogs.com/dsn727455218/p/10564410.html
Copyright © 2011-2022 走看看