`

mysql锁的问题

阅读更多

 

InnoDB锁问题  

http://blog.163.com/wjf_j2ee2009/blog/static/13260200020106172823909/

 

锁表的问题

http://www.cnblogs.com/mingxuan/archive/2011/10/11/2207560.html

 

innodb锁表问题

http://book.51cto.com/art/200806/77628.htm

 

死锁的形成

http://blog.sina.com.cn/s/blog_7a3510120100z977.html

 

 

http://www.cnblogs.com/jack204/archive/2012/06/09/2542940.html

 

http://hi.baidu.com/easyphp/item/fe31cae3207249276cabb8cb

mysql innodb表写数据中形成的死锁

向innodb数据表中写数据死锁。搜集资料如下

一、形成死锁的四个必要条件

(1) 互斥条件:一个资源每次只能被一个进程使用。 

(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 

(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。即A在等待B占有的资源、B在等待C占有资源。。。Z在等待A占有的资源。

破坏上面任一条件都可避免死锁。

发生死锁后的解决办法

 

1、撤消陷于死锁的全部进程;

2、逐个撤消陷于死锁的进程,直到死锁不存在;

3、从陷于死锁的进程中逐个强迫放弃所占用的资源,直至死锁消失。

4、从另外一些进程那里强行剥夺足够数量的资源分配给死锁进程,以解除死锁状态

 

参考 http://zhidao.baidu.com/question/65925327

二、innodb行级锁定原理

搜索或扫描一个表索引之时,InnoDB以这样一种方式实行行级锁定,它对任何遇到的索引记录设置共享的或独占的锁定。因此,行级锁定实际是索引记录锁定。

三、所遇到死锁

5台服务器同时以SQL语句:

REPLACE INTO tableName VALUES('tid1','currentTimestamp'...),('tid1','currentTimestamp'...),...('tid1','currentTimestamp'...);#5000条记录,其中tid1 ,currentTimestamp 联合索引做主索引

向mysql innodb表写入数据,报如下错误:

Deadlock found when trying to get lock; try restarting transaction

四、解决方式

将5000条记录按主索引tid,currentTime排序后拼成SQL语句,这样可以破坏四条件中的第四个,以避免死锁。

分享到:
评论

相关推荐

    MySQL锁类型以及子查询锁表问题、解锁1

    MySQL锁类型以及查询锁表问题、解锁MySQL中select * for update锁表的范围MySQL中select * for update锁表的问题由

    MySQL Innodb锁解决并发问题

    MySQL Innodb锁解决并发问题

    mysql 锁机制及mysql中的锁介绍.pdf

    系统介绍mysql锁机制

    MYSQL锁机制全揭秘

    MYSQL锁机制全揭秘,锁对数据库而言显得尤其重要,也更加复杂。

    MYSQL锁表问题的解决方法

    主要介绍了MYSQL锁表问题的解决方法,结合实例形式分析了MySQL锁表问题的常见情况与相应解决方法,需要的朋友可以参考下

    mysql读写锁演示案例

    主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要通过案例演示了mysql的读写锁问题;帮助理解读写锁的概念、特征。主要...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 第十课MySQL锁机制和事务.pdf │ 第四课SQL基础语法.pdf │ ├─新版MySQL DBA综合实战班 第01天 │ 0_MySQL高级DBA公开课视频.avi │ 1_数据库通用知识介绍.avi │ 2_MySQL8常规安装.avi │ 3_MySQL8非常规安装...

    MySQL锁与事务脑图.pdf

    MySQL锁与事务知识脑图

    MYSQL

    1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 2.4 在...

    MYSQL 解锁与锁表介绍

    MySQL锁概述   相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁...

    MySQL锁详解

    MySQL锁详解,锁还是非常重要的,无论解决工作的死锁还是面试都会有

    2021年MySQL高级教程视频.rar

    17.MySQL高级锁MyISAM表锁查看锁争用情况.avi 18.MySQL高级锁InnoDB行锁介绍及背景知识.avi 18.MySQL高级锁InnoDB行锁类型.avi 19.MySQL高级锁InnoDB行锁基本演示.avi 20.MySQL高级锁InnoDB行锁行锁升级为表锁.avi ...

    MySQL的锁机制解析

    MySQL的锁机制解析,面试经常问到的,DBA必看

    MySQL的锁机制

    MySQL的锁、锁机制的解释。想看就看,勿过于勉励

    Mysql(MyISAM)的读写互斥锁问题的解决方法

    此文档中详细记载了,Mysql(MyISAM)的读写互斥锁问题的解决方法,希望可以帮助到你!

    mysql锁详解

    资源名称:mysql锁详解资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    MySQL中文参考手册.chm

    1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 ...

    MySQL8.0锁机制和事务

    mysql的锁机制和事务

    Mysql事务以及锁原理讲解.pdf

    Mysql事务以及锁原理讲解,方便大家了解mysql事务和锁的原理

Global site tag (gtag.js) - Google Analytics