vi/usr/local/killmysqlprocess.sh
#!/bin/bash#*/1 * * * */usr/local/src/killmysqlprocess.shbackdir= "/usr/local/logs/" logfile= "Cms_mysql_killprocess_ $ (date + "%y%m%d"). Log "mysqlbindir="/usr/local/mysql/bin/"#use commond ' Vmstat ' get proc numvmstat > vmstat.tmppronum= ' awk-f ' "' {if (nr==3) print '} ' vmstat.tmp ' rm-f vmstat.tmp#if pronum Less, nothing to do .... exitif [$pronum-lt 20]; Then Exitfi#it's here more than 20,run kill MySQL Lock process${mysqlbindir}mysql-e "show full processlist" > proc Esslist.tmp#get Lock MySQL process idawk-f "" '/locked/{print $ ' processlist.tmp >looplock.tmpsleep 5for line in ' CA T looplock.tmp ' do /usr/local/mysql/bin/mysql-e ' kill ${line} ' donerm-f Looplock.tmp#write kill Logecho $ (date + "%Y- %m-%d%h:%m:%s ") >> ${backdir}${logfile}cat processlist.tmp >> ${backdir}${logfile}rm-f processlist.tmp
chmod 777 killmysqlprocess.sh
/usr/local/killmysqlprocess.sh
Kill the MySQL deadlock process