mysql大量锁表,不重启的情况下处理办法

mysql -u root -e "show processlist"|grep -i "Locked" >> locklist.txt;
for line in awk ‘{print $1}‘ locklist.txt
do
   echo "kill $line;">>lock_kill.sql
done

查看mysql数据库表大小

#!/bin/bash
database=cms
user=root
password=‘123456‘
mysql -u${user} -p${password} -e "use $database;show tables;" | sed ‘1d‘ | while read line; do  mysql -u$user -p${password} $database -e "SELECT ‘${line}‘,ROUND(SUM(data_length/1024/1024),2) as data_length ,‘MB‘,round(SUM(index_length/1024/1024),2) as index_length,‘MB‘ FROM information_schema.TABLES WHERE information_schema.TABLES.TABLE_SCHEMA = ‘${database}‘ AND information_schema.TABLES.TABLE_NAME = ‘$line‘";done | grep -v data_length | awk ‘{print $1"\t"$2$3"\t"$4$5}‘ | sort -nrk2
时间: 2024-08-28 15:09:41

mysql大量锁表,不重启的情况下处理办法的相关文章

CentOS系统在不重启的情况下为虚拟机添加新硬盘

一.概述 用过虚拟机的都知道,如果在系统运行的时候去给虚拟机添加一块新设备,比如说硬盘,系统是读取不到这个新硬盘的,因为系统在启动的时候会去检测硬件设备.但是我们也可能会遇到这样的情况,比如正在运行比较重要的程序,这时候不想重启linux系统,又需要添加一块新硬盘,该怎么办呢?今儿个就遇到这个情况,vmware上添加新硬盘,系统不识别,于是百度了一番,有很多文章,不过大多都是要设置lvm的,鄙人比较懒,不想做那么复杂,终于找到了一篇文件讲述如何不重启的情况下添加新硬盘并识别出来,于是乎操作了一般

mysql java 根据表名转为javaBean,下划线转驼峰,带注释,部分常用类型匹配。

-- mysql java 根据表名转为javaBean,下划线转驼峰,带注释,部分常用类型匹配 select concat( '/** ', COLUMN_COMMENT, ' */', 'private ', (case DATA_TYPE when 'varchar' then 'String ' when 'int' then 'Integer ' when 'double' then 'double ' when 'float' then 'double ' when 'datetim

@Java web程序员,在保留现场,服务不重启的情况下,执行我们的调试代码(JSP 方式)

一.前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码 最近事不算多,所以有点时间写博客,昨天写着写着,测试的同学反馈说有一个bug.我看了下服务端日志,空指针了: 下面会给出详细

MySQL DDL锁表情况

版本5.7.22,隔离级别RR 当DDL的表存在慢查询时,此时对该表做DDL,由于无法获得metadata锁,所以会等待该锁,造成锁表,后续DML操作全部进入等待状态.session1:session2:session3:session4: tips:select sleep(N) from t;表示查询t的时间为t中的行数*N,如下: Before an online DDL operation can finish, it must wait for transactions that ho

服务器上的Mysql表全丢了情况下恢复数据

任务: web项目是在linux的Tomcat部署,Mysql也在上面,不知明原因下数据库宕机,启动不了,数据库表也突然没了,全空了!!!!!!!! mysql安装目录 惊喜的发现var/目录下有类似丢失数据库的表 接下来就是怎么恢复进去了,首先我们用的是mysql的InnoDb引擎,找了下其资料: 两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用. 我作为使用MySQL的用户角度出发,Innodb和M

使用xtrabackup进行Mysql不锁表主从复制

Xtrabackup 是percona公司的开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复MySQL数据库. Xtrabackup中包含两个工具: xtrabackup是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构: innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力. 一.安装 1.配置Yum源 rpm -Uhv http

MySQL 行锁 表锁机制

MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑.遇到了可别乱踩.通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项.还在等啥?经验等你来拿! MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁.后者的出现从某种程度上是弥补前者的不足.比如:MyISAM不支持事务,InnoDB支持事务.表锁虽然开销小,锁表快,但高并发下性能低.行锁

Mysql不锁表备份之Xtrabackup的备份与恢复

一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略.例如每周实用完整备份,周一到周六实用增量备份.而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具,xtrabakackup有2个工具,分别是xtrabakup.innobakupe. Perco

Hiver 操作 MySQL 导致锁表

Hadoop 搬迁到新集群后,操作主库 MySQL 导致了锁表...sad 具体锁表时间点  : 2016-1-14 14:31  到   2016-1-14 14:36 之间 在 oradba 的 innodbstatus 信息拿到后,还需要后续继续分析到底是哪条 SQL 锁的... 参考 Link : http://mysqllover.com/?p=431