当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. Servlet 添加 Cookie 返回 500 的问题

    在学习 Servlet 中,学习 Cookie 的时候,往 response 中添加 Cookie ,结果出现 500 的错误 Cookie cookie1 = new Cookie(COOKIE_N ...

  2. 使用expect快速登录线上机器

    背景: 公司登陆线上服务器一般都要经过跳板机才能登陆,过程比较麻烦,如果要频繁登陆某个机器而且机器名不好记很费劲,使用expect自动登陆会方便很多 实现: 使用expect脚本自动登陆: #!/us ...

  3. RAID技术全解图解-RAID0、RAID1、RAID5、RAID100【转】

    图文并茂 RAID 技术全解 – RAID0.RAID1.RAID5.RAID100…… RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转 ...

  4. python web开发——django学习(二)第一个django网站运行成功

    1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  5. accept 和 content-Type区别

    accept表示 客服端(浏览器)支持的类型,也是希望服务器响应发送回来的的数据类型. 例如:Accept:text/xml; ,也就是希望服务器响应发送回来的是xml文本格式的内容 区别: 1.Ac ...

  6. .Net Core 1.1 + CentOs 7 环境配置

    centos7下使用yum安装mysql5.7.10 参考:http://www.cnblogs.com/hwd-cnblogs/p/5213337.html http://www.jb51.net/ ...

  7. hadoop进阶---hadoop性能优化(一)---hdfs空间不足的管理优化

    Hadoop 空间不足,hive首先就会没法跑了,进度始终是0%. 将HDFS备份数降低 将默认的备份数3设置为2. 步骤:CDH–>HDFS–>配置–>搜索dfs.replicat ...

  8. Java程序运行机制

    Java程序运行机制 编译型(compile) 它有一个负责翻译的程序(编译器),将我们写的 Java 源代码转为计算机可执行的代码 举个例子:把一本中文书翻译成英文书 应用:操作系统.C.C++ 解 ...

  9. SpringBoot + Mybaties的逆向工程有数据库生成domain的过程

    环境:  jdk1.8 (适合springboot2.X以上版本) Maven(3.3.X以上) spring boot 2.1.6 Idea 2019.1\ 这里随便填 选择相应的Jar,如以下的勾 ...

  10. 华为路由器+三层交换,路由器配置DHCP,交换机中继DHCP

    LSW14:undo terminal monitorsystem-viewsysname SW1vlan batch 10 20 30 40 66interface Ethernet0/0/1por ...