1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

MySQL连接数涨满处理方法

MySQL连接数涨满处理方法

你好,我是本际云服务器推荐网的小编小本本,今天为大家介绍一下处理MySQL连接数涨满的方法。MySQL版本8.0.16,如果连接数达到上限就会报错。

MySQL连接数涨满处理方法

解决方案

Step 1:首先查看MySQL的max_connections和max_user_connections的值。

Step 2:如果Threads_connected的值已达到连接数上限,而Threads_running的值为4,说明所有连接都是非空闲连接。

Step 3:可以查看该值与max_user_connections/max_connections的差,如果差值很小,说明大多数连接都在等待获取锁,这时需要着手解决这个问题。

Step 4:调整连接数上限,如果QPS/TPS并不高,可以将连接数上限增大。使用以下命令将数据库的连接数上限设置增大:set global max_connections=40; set global max_user_connections=40;

Step 5:调整超时时间。如果thread_running的值与threads_connected相比非常低,可以选择将空闲连接的超时时间降低,快速释放连接。使用以下命令将非交互模式的空闲连接超时时间设置为10秒:set global wait_timeout=10; 如果Innodb_row_lock_current_waits的值非常高,可以设置锁等待超时为一个较短的时间来释放连接数,使用以下命令:set global innodb_lock_wait_timeout=2;

Step 6:杀死线程。如果thread_running的值非常高,可以选择将执行时间长的线程杀掉,来释放连接。建议使用precona公司的pt-kill工具来进行杀掉线程的工作。使用以下命令进行执行时间超过20秒的线程的杀死:pt-kill –busy-time 20 –host 192.168.56.11 –port 3306 –user=pt_test –password=pt_test –interval 1 –print –kill

以上就是本次介绍的MySQL连接数涨满的处理方法,希望能对大家有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6192.html