MySQL 两个死锁样例

Posted 蒋乐兴的技术随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 两个死锁样例相关的知识,希望对你有一定的参考价值。

【引子】

  从事mysql-DBA这一样也有些年头了,想对新人说,在分析死锁问题时应该还要考虑到有一个叫请求队列的“概念”。之所以

  在这里提这个不是因为新手不知道,而是有时候会自然而然的想不到。

 

  不信的话,我下面要说的这个例子每个dba都知道要排队

  session A

creat table t(x int primary key);
insert into t(x) values(1);

start transaction;
update t set x=2 where x=1; 

  session B

update t set x=3 where x=1;

  由于session A持有着x=1那一行的“X”锁,所以当session B要去更新x=1这一行时它就只能是等待了,此时如果有session C它也要去更新

  x=1的行,那么session C的获取锁的请求就要排在session B的后面。

 

未完 ... ...

 

 

 

----

以上是关于MySQL 两个死锁样例的主要内容,如果未能解决你的问题,请参考以下文章

mysql -- 死锁

MySQL 死锁示例

MySQL锁(死锁)

生产环境MySQL死锁如何监控及如何减少死锁发生的概率。

Java并发编程实战 04死锁了怎么办?

Java并发编程实战 04死锁了怎么办?