当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. 014 ThreadLocal详解

    一:ThreadLocal的原理 1.说明 ThreadLocal从字面意思来理解,是一个线程本地变量,也可以叫线程本地变量存储.有时候一个对象的变量会被多个线程所访问,这个时候就会有线程安全问题,当 ...

  2. disruptor 组件理解

    disruptor 中核心组件包括 RingBuffer.Event .EventHandler.Sequence.Sequence Barrier. WaitStrategy.WorkProcess ...

  3. Jenkins参数化构建--Git Parameter

    由于我们在测试过程中,可能需要在多个测试环境跑用例,这个时候就需要jenkins参数化了. Jenkins参数化一般常用的有两种方式:Choice和String Parameter两种 (1)Choi ...

  4. C++11新特性— auto 和 decltype 区别和联系

    一. auto简介 编程时候常常需要把表达式的值付给变量,需要在声明变量的时候清楚的知道变量是什么类型.然而做到这一点并非那么容易(特别是模板中),有时候根本做不到.为了解决这个问题,C++11新标准 ...

  5. python中video system not initialized怎么解决

    今天在github上找到一个用pygame做的Python游戏,但是clone到本地运行的时候却冒出了“mixer system not initialized”这样的问题.其实这句话说的就是音频混音 ...

  6. Laya自定义组件

    laya2.1.1.1 参考: 预设使用 一 没有自定义组件 教程翻了几遍,没有自定义组件,论坛搜了下,说是不能使用. 二 预置件做自定义组件 预置件无法右键创建. 又去翻教程.终于知道预置件怎么创建 ...

  7. OpenShift环境中手工模式添加etcd server

    模拟备份和恢复,在现有的集群环境,单master(etcd), infra和node上面添加另外一台机器作为etcd Server. 基于OpenShift 3.11版本,详情可以参考 https:/ ...

  8. Android中的算法

    算法是思想的体现形式,常见的算法做一些总结 算法简介 算法-Algorithm 解题方案的准确而完整的描述,是一系列解决问题的清晰指令 特征 有穷性,确切性,输入项,输出项,可行性 算法运算要素 算术 ...

  9. python实践项目六:正则表达式-强口令

    描述:写一个函数,它使用正则表达式,确保传入的口令字符串是强口令.强口令的定义是:长度不少于8 个字符,  同时包含大写和小写字符, 至少有一位数字. 代码: #!/usr/bin/python # ...

  10. sql joins 7

    sql joins 7