自动清理MySQL的Lock进程的脚本

作者:小涵 | 来源:互联网 | 2018-07-13 21:01

阅读: 915

最近数据库服务器在某一时段进程数忽然暴增,导致数据库服务器死掉,根据日志查询,是由于Mysql大量Lock进程造成服务器进程数过高导致。遂写了一个脚本,每分钟检查下,如果存在负载过高的情况,就杀掉一些Lock进程。以下脚本稍微改下,也可以完成其他的任

最近数据库服务器在某一时段进程数忽然暴增,导致数据库服务器死掉,根据日志查询,是由于Mysql大量Lock进程造成服务器进程数过高导致。 遂写了一个脚本,每分钟检查下,如果存在负载过高的情况,就杀掉一些Lock 进程。 以下脚本稍微改下,也可以完成其他的任

最近数据库服务器在某一时段进程数忽然暴增,导致数据库服务器死掉,根据日志查询,是由于Mysql大量Lock进程造成服务器进程数过高导致。

遂写了一个脚本,每分钟检查下,如果存在负载过高的情况,就杀掉一些Lock 进程。

以下脚本稍微改下,也可以完成其他的任务。

服务器负载高比较危险,可能会导致整个服务宕掉。虽然杀掉一些进程对某些用户访问可能会有一些异常,但总比服务器宕机要好。

cat killmysqlprocess.sh

#!/bin/bash

#*/1 * * * * /usr/local/src/killmysqlprocess.sh

backdir="/usr/local/logs/"

logfile="cms_mysql_killprocess_$(date +"%Y%m%d").log"

mysqlbindir="/usr/local/mysql/bin/"

#use commond 'vmstat' get proc num

vmstat > vmstat.tmp

pronum=`awk -F" " '{if (NR==3) print $1}' vmstat.tmp`

rm -f vmstat.tmp

#if pronum less 20, nothing to do.......... exit

if [ $pronum -lt 20 ]; then

exit

fi

#it's here more than 20,run kill mysql Lock process

${mysqlbindir}mysql -e "show full processlist" > processlist.tmp

#get Lock mysql process id

awk -F" " '/Locked/{print $1}' processlist.tmp >looplock.tmp

sleep 5

for line in `cat looplock.tmp`

do

/usr/local/mysql/bin/mysql -e "kill ${line}"

done

rm -f looplock.tmp

#write kill log

echo $(date +"%Y-%m-%d %H:%M:%S") >> ${backdir}${logfile}

cat processlist.tmp >> ${backdir}${logfile}

rm -f processlist.tmp

吐了个 "CAO" !

吐个槽吧,看都看了

自动清理mysql的lock进程的脚本_自动清理MySQL的Lock进程的脚本相关推荐

  1. 安卓自动滑屏脚本_自动滑屏软件下载-自动滑屏 安卓版v3.1.0-PC6安卓网

    自动滑屏脚本是一款特别神奇的安卓手机美化型实用工具.自动滑屏软件拥能支持自定义编辑代码脚本,通过自动滑屏app可以让大家的手机体验度得到很大程度改进,使用起来更顺手! 软件介绍 自动滑屏脚本是一款不需 ...

  2. mysql进程删除文件_完全卸载mysql 停止服务、卸载相关程序、删除注册表

    3.运行"regedit"文件,如图,打开注册表 删除注册表数据,通过regedit,删除以下几个文件[也可以在注册表里搜索mysql]:HKEY_LOCAL_MACHINE/SY ...

  3. MySQL主流高可用解决方案有_高可用MySQL解决方案概述

    数据库作为最基础的数据存储服务之一,在存储系统中有着非常重要的地位,因此要求其具备高可用性无可厚非.能实现不同SLA(服务水平协定)的解决方案有很多种,这些方案可以保证数据库服务器在硬件或软件出现故障 ...

  4. mysql修改表结构大表_在线修改MySQL大表的表结构

    由于某个临时需求,需要给在线MySQL的某个超过千万的表增加一个字段.此表在设计之时完全按照需求实现,并没有多余的保留字段. 我们知道在MySQL中如果要执行ALTER TABLE操作,MySQL会通 ...

  5. mysql 聚合函数内比较运算符_关于常用 MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结...

    /* 关于MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结,*/ -- 1 运算符优先级  /* 12.1.1. 操作符优先级 以下列表显示了操作符优先级的由低到高的顺序.排列在同一行的操作符 ...

  6. 详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)

    由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样.你可以根据实际情况使用其中的一种.在你安装.升级或者维护系统时,你可能需要多次启动和终止服务器 ...

  7. sae mysql 同步本地_MYSQL入门之三_将本地MySQL数据导入SAE数据库_MySQL

    bitsCN.com MYSQL入门之三_将本地MySQL数据导入SAE数据库 1. MySQL字符集 MySQL的默认字符集是latin1,将本地MySQL库导出成sql,再导入到SAE的MySQL ...

  8. 登录mysql时 未找到 grant命令_我在mysql数据库中可以登陆,为什么用grant命令创建用户时提示错误?...

    问题表象: 我的mysql中的 my.ini文件配置: [csharp] view plaincopyprint? #Path to installation directory. All paths ...

  9. mysql双机热备 读写分离_轻松搭建MySQL主从复制、读写分离(双机热备)

    主从复制: 当mysql数据库的数据量太大的时候,查询数据就很吃力了,无论怎么优化都会产生瓶颈,这时我们需要增加服务器设备来实现分布式数据库,实现多机热备份,要想实现多机的热备,首先要了解主从数据库服 ...

  10. mysql从挂了数据怎么恢复_详解MySQL误操作后怎样进行数据恢复

    一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +---------------+----- ...

最新文章

  1. python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取
  2. [LeetCode 题解]: Binary Tree Preorder Traversal
  3. Mysql事务处理问题
  4. linux如何删除符号链接文件夹,在Linux中怎样移除(删除)符号链接
  5. iOS中Safari浏览器select下拉列表文字太长被截断的处理方法
  6. 动手动脑第二波方法的重载
  7. python线程池并发爬虫_python 并发专题(二):python线程以及线程池相关以及实现...
  8. sql server 群集_SQL Server 2014 –安装群集实例–分步(2/3)
  9. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
  10. 《软件体系结构》第二章 软件体系结构建模
  11. 快解析v6.5.3版本,添加端口映射教程
  12. 李育辉组织行为学理论框架
  13. PHP如何调用实现奇亚(Chia)交互[支持XCH]
  14. 索尼ps4 linux,索尼PS4
  15. Metasploit上使用RPC方式复现一个Linux提权漏洞
  16. 5个步骤,教会企业如何整理有效的常见问题(FAQ)解答页面。运营必看!
  17. RAID区别和特点(全)
  18. Java知识点总结《努力篇上》
  19. Gentler编程简介
  20. Mysql实现统计查询

热门文章

  1. 藏不住了,这就是阿里 AI 的真正实力!
  2. 云原生时代|分布式系统设计知识图谱(内含22个知识点)
  3. Node.js 应用故障排查手册 —— 正确打开 Chrome devtools
  4. 要闻君说:5G手机真的来了?TCL转型科技企业!鹅厂云部门发布态势报告, DDoS攻击正式进入Tb时代!天上“跑”起出租车?...
  5. 小学学校计算机室财产登记册,小学财产登记制度
  6. vue将文本渲染html,vue2.0 之文本渲染-v-html、v-text
  7. easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗?
  8. python pycharm打包_【转】通过PyCharm 把Python 程序打包为exe
  9. 计算机学3d建模吗,计算机三维建模与动画基础
  10. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数