MySQL最大连接数的默认值是100, 这个数值对于并发连接很多的数据库的应用是远不够用的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。



在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。



通常,mysql的最大连接数默认是100, 最大可以达到16384。



 



1.mysql> show status like 'Threads%'; 
  
 
  

    +-------------------+-------+ 
  
 
  

    | Variable_name     | Value | 
  
 
  

    +-------------------+-------+ 
  
 
  

    | Threads_cached    | 58    | 
  
 
  

    | Threads_connected | 57    |   ###这个数值指的是打开的连接数 
  
 
  

    | Threads_created   | 3676  | 
  
 
  

    | Threads_running   | 4     |   ###这个数值指的是激活的连接数,这个数值一般远低于connected数值 
  
 
 

   +-------------------+-------+ 
 
 
 

     
 
 
 

   Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数 
 
 
 

      
  
 
 

    2.mysql> show variables like '%max_connections%'; 
  
 
  

    查询数据库当前设置的最大连接数 
  
 
  

    +-----------------+-------+ 
  
 
  

    | Variable_name   | Value | 
  
 
  

    +-----------------+-------+ 
  
 
  

    | max_connections | 1000  | 
  
 
  

    +-----------------+-------+



3.应该中间有服务重启的过,重启后后老的链接需要一个小时才会释放,但是新部署的应用需要新建一批链接,两者重叠相加,数量就上去了