mysql uroot e_批量 kill mysql 连接
事故重现,并且加入一些后期想到的想法作为演义. 今天 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 连接相关推荐
- mysql uroot p 报错,MySQL链接错误集。
一. 链接MySQL数据库报错: ERROR 1049 (42000):unknown database ';' C:\Program Files\mysql-5.6.22-winx64\bin> ...
- 批量 kill mysql 中运行时间长的sql
以下内容来自mysql手册: 13.5.5.3. KILL语法 KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SH ...
- mysql kill 脚本_批量 kill mysql 中运行时间长的sql
以下内容来自mysql手册: 13.5.5.3. KILL语法 KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SH ...
- mysql update mapper_mybatis批量update(mysql)
批量插入: insert into testTable (id,content) values( #{item.id}, #{item.content}, ) Mapper文件中的写法 UPDATE ...
- mysql启动关闭步骤_MYSQL的连接管理与启动关闭流程
1.mysql启动关闭流程 1.启动数据库 1.systemctl start mysqld 2./etc/init.d/mysqld start 3.mysqld_safe --defaults-f ...
- Ubuntu 18.04 安装 mysql 并且设置远程可登陆连接
Ubuntu18.04 安装MySQL 环境信息: OS:Ubuntu18.04 MySQL: 5.7.25-0ubuntu0.18.04.2 1.安装MySQL 在 Ubuntu 18.04 中 ...
- lnmp mysql 远程访问_LNMP环境下 远程连接mysql数据库
一.为了安全起见,lnmp环境是禁止远程连接的,他会删除iptables里面的3306端口的防火墙规则 一.如果是phpmydmin 那要把权限里要远程连接的用户主机改成 * 参考: https:/ ...
- mysql服务器是否支持tcp/ip连接,(3)MySQL客户端与服务端的TCP/IP及socket连接方式-Go语言中文社区...
MySQL客户端与服务端的TCP/IP及socket连接方式 客户端与服务器模型 客户端与服务端模型 TCP/IP方式连接 解释说明 TCP/IP套接字方式是MySQL在任何平台下都提供的连接方式,也 ...
- mysql的安装后;Navicat连接出现1103详细解决方式
出现如图1130的问题解决方案: 登入MySQL: -p(mysql密码) ~$ mysql -uroot -proot 切换数据库, mysql>use mysql; 查看root账号的登录权 ...
最新文章
- java ee 6 sdk中文版,Java EE 6 SDK+Eclipse JEE+Android ADT-Fun言
- [翻译]关于SQL CE RDA数据同步的FAQ
- JZOJ 3815. 【NOIP2014模拟9.7】克卜勒
- web前端技巧-ES6新特性与重点知识汇总(一)
- ORACLE TEXT LEXER PREFERENCE(三)
- TreeView的checked事件
- 毕业设计一周一记02
- Bailian4138 POJ NOI MATH-7827 质数的和与积【数论】
- Android点亮屏幕
- “独立博客”为什么独立?
- 【斗地主 javascript js 斗地主 AI 人机 网页在线】基于专家系统的斗地主AI算法
- 如何让电脑快速蓝屏(只是个玩笑)
- 甘肃省庆阳市谷歌卫星地图下载
- 第十一届单片机蓝桥杯省赛(第一组)
- 2018年总结,踩踩这条即将溜掉的狗尾巴 ~
- 数据血缘图谱升级方案设计与实现
- 计算机组成原理全书知识总结
- 关于Linux、git和github的一些历史事件
- Fuzz方法在SPDK iSCSI的应用实例
- alpine linux 安装教程,Alpine linux硬盘安装
热门文章
- spring batch_Spring Batch作为Wildfly模块
- java 反射api_Java的反射API
- scm maven_在运行时访问工件的Maven和SCM版本
- 在JPA和JDBC中使用存储过程。 嗯,只要使用jOOQ
- cobertura覆盖率_Cobertura和Maven:集成和单元测试的代码覆盖率
- Java中的值类型:为什么它们不可变?
- 在同一台机器上启动多个JBoss A-MQ JVM
- 如何从Java EE无状态应用程序连接到MongoDB
- 从Ant Build演进Gradle Build:导入Ant Build文件
- 一些基于Java的AI框架:Encog,JavaML,Weka