zoukankan      html  css  js  c++  java
  • centos下shell脚本kill掉mysql锁表进程【笔记】

        前几天发现服务器上的mysql出现锁表了,show processlist后发现好多都是因为写进session才锁表的,看到这个想起了会不会是硬盘空间不够了,马上查看了服务器硬盘空间,发现都100%了,马上清理硬盘空间,清理完后,还要杀掉mysql里锁表的进程,网上搜了个shell脚本来kill锁表的进程。

         1.下面是脚本内容:
       cat /root/soft_shell/mysql_sleep_kill.sh

        

    #!/bin/bash
    >/root/locked_log.txt
    >kill_thread_id.sql
    mysql -u root -e "show processlist" -p写你mysql密码|grep -i "Waiting">>/root/locked_log.txt
    for line in `cat /root/locked_log.txt | awk '{print $1}'`
    do
    echo "kill $line;" >> kill_thread_id.sql
    done
    

      

    执行了脚本后,还要把kill_thread_id.sql导入进去,如下:
    mysql>source kill_thread_id.sql

    导入进去后就会自动kill掉锁表的进程.

    2.也可以通过限制用户连接mysql的连接数也可以一直程度上缓存mysql实例多导致的锁表多问题:
    mysql> grant all on username.*to’databasename’@'localhost’ with MAX_USER_CONNECTIONS 4 MAX_CONNECTIONS_PER_HOUR 1000;  //WITH MAX_USER_CONNECTIONS 4,限制最大连接数;MAX_CONNECTIONS_PER_HOUR 1000,限制每小时最大连接数

  • 相关阅读:
    树莓派无线中继的实现
    最近宿舍使用树莓派心得一二
    ARM 编译 phddns
    FIR on Hadoop using hadoop-streaming
    转--linux awk
    java 多线程总结
    现有的Saliency计算模型的几个常见问题及回答 (转)
    Datastage 各种控件使用指南
    2014年军训总结
    分页查询
  • 原文地址:https://www.cnblogs.com/68xi/p/9328308.html
Copyright © 2011-2022 走看看