Hiver 操作 MySQL 导致锁表

Hadoop 搬迁到新集群后,操作主库 MySQL 导致了锁表。。。sad

具体锁表时间点  : 2016-1-14 14:31  到   2016-1-14 14:36 之间

在 oradba 的 innodbstatus 信息拿到后,还需要后续继续分析到底是哪条 SQL 锁的。。。

参考 Link : http://mysqllover.com/?p=431

时间: 2024-12-16 09:17:52

Hiver 操作 MySQL 导致锁表的相关文章

Mysql InnoDB 数据更新导致锁表

一.数据表结构 CREATE TABLE `jx_attach` ( `attach_id` int(11) NOT NULL AUTO_INCREMENT, `feed_id` int(11) DEFAULT NULL , `attach_name` varchar(255) NOT NULL, `cycore_file_id` varchar(255) DEFAULT NULL , `attach_size` bigint(20) NOT NULL DEFAULT '0', `complet

MySQL 行锁 表锁机制

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

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不锁表备份之Xtrabackup的备份与恢复

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

mysql 查询锁表

1)使用情景"判断通过后写入数据库",这个一般是不会有问题的, 但并发访问的时候就不太好搞.因为写入(insert)是需要时间的,假设现在有两个并发请求,(假设第一个访问是最后一个符合条件的写入请求,按照逻辑,第二个请求应该是不合法.不能写入的),在第一请求成功写入之前,第二请求查询到未更新的数据记录,因为记录是未更新的,所以它也是可以通过判断的.最后导致两个请求都写入数据了. 2)解决办法:查询锁表 在我处理完入库前,查都不让你查了,这样就不会判断错误了吧 3)锁表语句 LOCK T

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

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

MySQL InnoDB 锁表与锁行

由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住). 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键. 例1: (明确指定主键,并且有此笔资料,row lock) 复制代码代码如下: SELECT * FROM products WHERE id='3' FOR UPDATE;SELECT * FR

mysql查看锁表解锁

-- 查看那些表锁到了 show OPEN TABLES where In_use > 0; -- 查看进程号 show processlist; -- 删除进程 kill 1085850;

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 passwor