事故重现,并且加入一些后期想到的想法作为演义. 今天 mysql 服务器负载过高, 主库上主要是写的操作,首先看有没有锁表的,发现没有.mysql -uroot -e "show processlist"|grep  -i 'locked'|wc -l

再看delete,update,insert操作的数量.mysql -uroot -e "show processlist"|grep  -i 'delete'|wc -l

mysql -uroot -e "show processlist"|grep  -i 'update'|wc -l

mysql -uroot -e "show processlist"|grep  -i 'insert'|wc -l

这三个的总数合起来也没超过200, 就这样, mysql 占用的 cpu% 已经到了800%了.

再看下耗时排行(其实应该查看锁表就应该直接看耗时了)mysql -uroot -e "show processlist;" |sort -nr -k6;

发现有很多delete已经快1个小时了还没执行完毕,看来主要是卡在了delete的操作上.

所以我先把线上服务器中执行相同语句的操作都转移写入到文本,不再请求数据,防止相同的操作进来继续堵塞. 然后想 kill 掉那些连接, 于是我想到是不是可以这样来操作:mysql -uroot -e "show processlist;" |grep -i 'delete'|awk '{print $1}'|xargs mysql -uroot -e 'kill (xxx)'

但是awk得到的$1怎么传给后面的做参数呢,因为末尾还有一个单引号.然后又想到这样, 发现也还是不行, 语法有误.mysql -uroot -e "show processlist;" |grep -i 'delete'|awk '{print "mysql -uroot -e  \'kill "$1"\' }'|sh

正确的做法:#最后我们运维明哥,给我的语句是:

mysql -uroot -e "show processlist;" |grep -i 'delete'|awk '{print "mysql -uroot -e " "\047" "kill " $1"\047;" }'|sh

#志华老师提醒可以像 C 语言一样用`printf`,我写了下,还没来的及时试验

mysql -uroot -e "show processlist;" |grep -i 'delete'|awk '{printf "mysql -uroot -e \"kill %d;\"",$1}'|sh

mysql uroot e_批量 kill mysql 连接相关推荐

  1. mysql uroot p 报错,MySQL链接错误集。

    一. 链接MySQL数据库报错: ERROR 1049 (42000):unknown database ';' C:\Program Files\mysql-5.6.22-winx64\bin> ...

  2. 批量 kill mysql 中运行时间长的sql

    以下内容来自mysql手册: 13.5.5.3. KILL语法 KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SH ...

  3. mysql kill 脚本_批量 kill mysql 中运行时间长的sql

    以下内容来自mysql手册: 13.5.5.3. KILL语法 KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SH ...

  4. mysql update mapper_mybatis批量update(mysql)

    批量插入: insert into testTable (id,content) values( #{item.id}, #{item.content}, ) Mapper文件中的写法 UPDATE ...

  5. mysql启动关闭步骤_MYSQL的连接管理与启动关闭流程

    1.mysql启动关闭流程 1.启动数据库 1.systemctl start mysqld 2./etc/init.d/mysqld start 3.mysqld_safe --defaults-f ...

  6. Ubuntu 18.04 安装 mysql 并且设置远程可登陆连接

    Ubuntu18.04 安装MySQL 环境信息:  OS:Ubuntu18.04  MySQL: 5.7.25-0ubuntu0.18.04.2 1.安装MySQL 在 Ubuntu 18.04 中 ...

  7. lnmp mysql 远程访问_LNMP环境下 远程连接mysql数据库

    一.为了安全起见,lnmp环境是禁止远程连接的,他会删除iptables里面的3306端口的防火墙规则 一.如果是phpmydmin  那要把权限里要远程连接的用户主机改成 * 参考: https:/ ...

  8. mysql服务器是否支持tcp/ip连接,(3)MySQL客户端与服务端的TCP/IP及socket连接方式-Go语言中文社区...

    MySQL客户端与服务端的TCP/IP及socket连接方式 客户端与服务器模型 客户端与服务端模型 TCP/IP方式连接 解释说明 TCP/IP套接字方式是MySQL在任何平台下都提供的连接方式,也 ...

  9. mysql的安装后;Navicat连接出现1103详细解决方式

    出现如图1130的问题解决方案: 登入MySQL: -p(mysql密码) ~$ mysql -uroot -proot 切换数据库, mysql>use mysql; 查看root账号的登录权 ...

最新文章

  1. java ee 6 sdk中文版,Java EE 6 SDK+Eclipse JEE+Android ADT-Fun言
  2. [翻译]关于SQL CE RDA数据同步的FAQ
  3. JZOJ 3815. 【NOIP2014模拟9.7】克卜勒
  4. web前端技巧-ES6新特性与重点知识汇总(一)
  5. ORACLE TEXT LEXER PREFERENCE(三)
  6. TreeView的checked事件
  7. 毕业设计一周一记02
  8. Bailian4138 POJ NOI MATH-7827 质数的和与积【数论】
  9. Android点亮屏幕
  10. “独立博客”为什么独立?
  11. 【斗地主 javascript js 斗地主 AI 人机 网页在线】基于专家系统的斗地主AI算法
  12. 如何让电脑快速蓝屏(只是个玩笑)
  13. 甘肃省庆阳市谷歌卫星地图下载
  14. 第十一届单片机蓝桥杯省赛(第一组)
  15. 2018年总结,踩踩这条即将溜掉的狗尾巴 ~
  16. 数据血缘图谱升级方案设计与实现
  17. 计算机组成原理全书知识总结
  18. 关于Linux、git和github的一些历史事件
  19. Fuzz方法在SPDK iSCSI的应用实例
  20. alpine linux 安装教程,Alpine linux硬盘安装

热门文章

  1. spring batch_Spring Batch作为Wildfly模块
  2. java 反射api_Java的反射API
  3. scm maven_在运行时访问工件的Maven和SCM版本
  4. 在JPA和JDBC中使用存储过程。 嗯,只要使用jOOQ
  5. cobertura覆盖率_Cobertura和Maven:集成和单元测试的代码覆盖率
  6. Java中的值类型:为什么它们不可变?
  7. 在同一台机器上启动多个JBoss A-MQ JVM
  8. 如何从Java EE无状态应用程序连接到MongoDB
  9. 从Ant Build演进Gradle Build:导入Ant Build文件
  10. 一些基于Java的AI框架:Encog,JavaML,Weka