自动清理mysql的lock进程的脚本_自动清理MySQL的Lock进程的脚本
自动清理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进程的脚本相关推荐
- 安卓自动滑屏脚本_自动滑屏软件下载-自动滑屏 安卓版v3.1.0-PC6安卓网
自动滑屏脚本是一款特别神奇的安卓手机美化型实用工具.自动滑屏软件拥能支持自定义编辑代码脚本,通过自动滑屏app可以让大家的手机体验度得到很大程度改进,使用起来更顺手! 软件介绍 自动滑屏脚本是一款不需 ...
- mysql进程删除文件_完全卸载mysql 停止服务、卸载相关程序、删除注册表
3.运行"regedit"文件,如图,打开注册表 删除注册表数据,通过regedit,删除以下几个文件[也可以在注册表里搜索mysql]:HKEY_LOCAL_MACHINE/SY ...
- MySQL主流高可用解决方案有_高可用MySQL解决方案概述
数据库作为最基础的数据存储服务之一,在存储系统中有着非常重要的地位,因此要求其具备高可用性无可厚非.能实现不同SLA(服务水平协定)的解决方案有很多种,这些方案可以保证数据库服务器在硬件或软件出现故障 ...
- mysql修改表结构大表_在线修改MySQL大表的表结构
由于某个临时需求,需要给在线MySQL的某个超过千万的表增加一个字段.此表在设计之时完全按照需求实现,并没有多余的保留字段. 我们知道在MySQL中如果要执行ALTER TABLE操作,MySQL会通 ...
- mysql 聚合函数内比较运算符_关于常用 MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结...
/* 关于MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结,*/ -- 1 运算符优先级 /* 12.1.1. 操作符优先级 以下列表显示了操作符优先级的由低到高的顺序.排列在同一行的操作符 ...
- 详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)
由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样.你可以根据实际情况使用其中的一种.在你安装.升级或者维护系统时,你可能需要多次启动和终止服务器 ...
- sae mysql 同步本地_MYSQL入门之三_将本地MySQL数据导入SAE数据库_MySQL
bitsCN.com MYSQL入门之三_将本地MySQL数据导入SAE数据库 1. MySQL字符集 MySQL的默认字符集是latin1,将本地MySQL库导出成sql,再导入到SAE的MySQL ...
- 登录mysql时 未找到 grant命令_我在mysql数据库中可以登陆,为什么用grant命令创建用户时提示错误?...
问题表象: 我的mysql中的 my.ini文件配置: [csharp] view plaincopyprint? #Path to installation directory. All paths ...
- mysql双机热备 读写分离_轻松搭建MySQL主从复制、读写分离(双机热备)
主从复制: 当mysql数据库的数据量太大的时候,查询数据就很吃力了,无论怎么优化都会产生瓶颈,这时我们需要增加服务器设备来实现分布式数据库,实现多机热备份,要想实现多机的热备,首先要了解主从数据库服 ...
- mysql从挂了数据怎么恢复_详解MySQL误操作后怎样进行数据恢复
一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +---------------+----- ...
最新文章
- python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取
- [LeetCode 题解]: Binary Tree Preorder Traversal
- Mysql事务处理问题
- linux如何删除符号链接文件夹,在Linux中怎样移除(删除)符号链接
- iOS中Safari浏览器select下拉列表文字太长被截断的处理方法
- 动手动脑第二波方法的重载
- python线程池并发爬虫_python 并发专题(二):python线程以及线程池相关以及实现...
- sql server 群集_SQL Server 2014 –安装群集实例–分步(2/3)
- 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
- 《软件体系结构》第二章 软件体系结构建模
- 快解析v6.5.3版本,添加端口映射教程
- 李育辉组织行为学理论框架
- PHP如何调用实现奇亚(Chia)交互[支持XCH]
- 索尼ps4 linux,索尼PS4
- Metasploit上使用RPC方式复现一个Linux提权漏洞
- 5个步骤,教会企业如何整理有效的常见问题(FAQ)解答页面。运营必看!
- RAID区别和特点(全)
- Java知识点总结《努力篇上》
- Gentler编程简介
- Mysql实现统计查询
热门文章
- 藏不住了,这就是阿里 AI 的真正实力!
- 云原生时代|分布式系统设计知识图谱(内含22个知识点)
- Node.js 应用故障排查手册 —— 正确打开 Chrome devtools
- 要闻君说:5G手机真的来了?TCL转型科技企业!鹅厂云部门发布态势报告, DDoS攻击正式进入Tb时代!天上“跑”起出租车?...
- 小学学校计算机室财产登记册,小学财产登记制度
- vue将文本渲染html,vue2.0 之文本渲染-v-html、v-text
- easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗?
- python pycharm打包_【转】通过PyCharm 把Python 程序打包为exe
- 计算机学3d建模吗,计算机三维建模与动画基础
- mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数