当MySQL连接被打满,连管理员也无法本地登录时,可以考虑使用tcpkill杀掉一些应用服务器创建的连接。

查看数据库连接主要来自那些应用服务器

## 按照IP查看连接数前10的应用服务器
netstat -ano | grep | \
awk '{print $5}'|awk -F':' '{print $1}'| \
awk '{a[$1]++}END{for (j in a) print j":"a[j]}' | \
sort -n -r -t ":" -k |head -n

CentOS 6安装tcpkill

rpm安装包:
libnids-1.24-1.el6.x86_64.rpm
libnet-1.1.6-7.el6.x86_64.rpm
dsniff-2.4-0.17.b1.el6.x86_64.rpm
下载地址:
https://cbs.centos.org/koji/packageinfo?packageID=1876
https://cbs.centos.org/koji/packageinfo?packageID=1875
https://cbs.centos.org/koji/packageinfo?packageID=1874

tcpkill语法

tcpkill [-i interface] [-1…9] expression

-i	interface Specify the interface to listen on.

-1……-9	Specify the degree of brute force to use in killing a connection. Fast connections may require a higher number in order to land a RST in the moving receive window. Default is 3.

{expression}	Specify a tcpdump-like expression to select the connection to kill

tcpkill示例:

示例:
## kill与3358端口建立的所有连接
tcpkill -i eth0 port 3358 ## kill与服务器10.0.1.111 和10.0.1.112建立的所有连接
tcpkill host 10.0.1.111 and host 10.0.1.112

演示:

在服务器192.168.1.20上,想要kill所有来自192.168.1.35的请求

tcpkill -9 host 192.168.1.35

输出结果:
192.168.1.35:14125 > 192.168.1.20:3358: R 1067508583:1067508583(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067508612:1067508612(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067508670:1067508670(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067508757:1067508757(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067508873:1067508873(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067509018:1067509018(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067509192:1067509192(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067509395:1067509395(0) win 0
192.168.1.35:14125 > 192.168.1.20:3358: R 1067509627:1067509627(0) win 0
192.168.1.20:3358 > 192.168.1.35:14125: R 1578318895:1578318895(0) win 0
192.168.1.20:3358 > 192.168.1.35:14125: R 1578318926:1578318926(0) win 0

在192.168.1.35向192.168.1.20:3358正在执行SQL请求的连接会报下面错误:

ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query

在192.168.1.35向192.168.1.20:3358发送新请求会报:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104

PS: tcpkill运行后,需要稍等几秒才会收到Lost connection的错误。

MySQL Connection--使用tcpkill杀掉MySQL活跃连接的更多相关文章

  1. 2013 - lost connection to mysql server at 'reading initial communication packet' 连接mysql报错

    早上刚到公司,启动项目发现连接池初始化报错,于是我打开本地mysql管理工具,测试是否可以连接.报错2013代码: 现已解决. 重启服务器mysql服务就好. 因为我连接的是本地windows系统,所 ...

  2. MySQL 参数autoReconnect=true 解决8小时连接失效

    <!--  dataSource加参数    处理mysql 8小时自动断开连接的问题 --> <property name="testWhileIdle" va ...

  3. delphi连接mysql不用添加DSN(mysql connector odbc 5.1版)

    一.下载安装mysql驱动http://mysql.com/downloads/connector/odbc/二.添加adoconnection,adoquery,使用以下连接字符串http://ww ...

  4. 【docker-compose】使用docker-compose启动spring-boot+mysql,服务内连数据库报错:create connection SQLException, url: jdbc:mysql://mysql:33061/swapping?useSSL=false&useUnicode=true&characterEncoding=UTF-8, errorCode 0,

    完整配置在这里, https://www.cnblogs.com/sxdcgaq8080/p/10070948.html 启动报错如下: 2018-12-05 01:04:05.569 ERROR 1 ...

  5. java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题

    package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...

  6. 2003 -Can't connection to mysql server on | navicat for mysql Access denied for user 'root'@''ip'(using password :yes)

    用本机windows上的Navicat for mysql链接虚拟机Linux的mysql数据库时,第一次连接的时候报的错误是 2003 -Can't connection to mysql serv ...

  7. MySQL: Can’t connect to MySQL server on (111 “Connection refused”)

    1. Mysql连接问题 远程访问mysql或者通过docker访问宿主机mysql经常会碰到下面的问题: Can't connect to MySQL server on (111 "Co ...

  8. MySQL基础知识:MySQL Connection和Session

    在connection的生命里,会一直有一个user thread(以及user thread对应的THD)陪伴它. Connection和Session概念 来自Stackoverflow的一个回答 ...

  9. mac下安装mysql 连接时候报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    http://segmentfault.com/q/1010000000094608 同样的问题,先在网上搜了下其他人解决这个问题的方法,是去修改mysql.cnf文件添加mysql.sock文件路径 ...

随机推荐

  1. swoole流程图

    程图,便于以后回忆下 总结几点如下: 首先主进程监听pipe_master事件, 子进程监听pipe_worker事件 通过主进程派生的线程 swReactorThread *thread = swS ...

  2. js scheme 打开手机app的方法

    1.iframe function schemeUrl(url,callbak){ var ifr = document.createElement("iframe"); ifr. ...

  3. [LeetCode] 459. Repeated Substring Pattern 重复子字符串模式

    Given a non-empty string check if it can be constructed by taking a substring of it and appending mu ...

  4. idea创建maven web项目需要注意的一些细节

    在idea中构建maven java web项目,从new project到选择maven骨架到最后finish完成,整个流程完成后,项目基本结构已经出来,但是距一个可以正常开发运行的web项目还有一 ...

  5. Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用

    Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...

  6. spring_boot实战日记(二)logback的使用和配置

    日志:描述系统运行状态的所有信息都是日志. 日志能力: 1.定制输出目标. 2.定制输出格式. 3.携带上下文信息 4.运行时选择输出. 5.灵活的配置 日志选择: 日志门面:JCL(和Logback ...

  7. java的byte[]与String相互转换

    String转byte[] byte[] sInput = new byte[0]; try { // 可以指定编码,默认也只UTF-8 sInput = "这是内容".getBy ...

  8. jquery json对象转换

    jquery json对象转换 <pre>//json数组转json串var arr = [1,2,3, { a : 1 } ];JSON.stringify( arr ); //json ...

  9. TCP/IP学习笔记16--TCP--特点,数据重发,连接管理,段

    TCP充分实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的包进行顺序控制,这些在UDP中都是没有的.UDP是一种没有复杂控制,提供面向无连接通信服务的一种协议.TCP是面向有 ...

  10. OpenGL入门学习--超级好的资料

    近几天,由于工作项目需要利用openGL显示STL格式的三维模型,分享下面的BOOK,这个老外写得真是TMD太好了,资料免费! http://www.glprogramming.com/red/ind ...