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】大家一起讨论技术。

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

    喜欢的朋友可以关注下。
     

  • 相关阅读:
    C# 让程序自动以管理员身份运行
    [转]SAP算号器 license key Developer Access Key 完美解决方案
    【原创】项目性能优化全纪录(一) 存储过程优化
    treeview的遍历
    .NET求职笔试题目(续)
    SQL server 数据同步 Merge 的一个小bug
    use Stored procedure return a tabel(存储过程返回table)
    四种sql server 数据库分页的测试
    十五个世界最顶级的技术类博客网站
    层的拖动与隐藏
  • 原文地址:https://www.cnblogs.com/dsn727455218/p/10564410.html
Copyright © 2011-2022 走看看