MySQL死锁的案例分享


本篇内容介绍了“MySQL死锁的案例分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!两个死锁的小例子:
死锁案例1
比如自增列的死锁,一般的死锁得是4条DML语句互相牵制,我们可以做整合,简化,使得死锁的场景变得复杂起来。我们简单来模拟一下。 create table t8(开发云主机域名c1 int auto_increment,c2 int default null,primary key(c1),unique key (c2))ENGINE=InnoDB ;#session1Begin;insert into t8 values(null,10);#session2insert into t8 values(null,10);#session1insert into t8 values(null,9);
死锁案例2
比如我们难度升级,两条delete语句导致的死锁。create Table: CREATE TABLE `d` ( `i` int(11) NOT NULL DEFAULT ‘0’, PRIMARY KEY (`i`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;insert into d values(1);##session1mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> select *from d where i=1 lock in share mode;+—+| i |+—+| 1 |+—+1 row in set (0.00 sec)##session2mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> select *from d where i=1 lock in share mode;+—+| i |+—+| 1 |+—+1 row in set (0.00 sec)#session1mysql> delete from d where i=1;Query OK, 1 row affected (10.80 sec)##session2mysql> delete from d where i=1;ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transactionmysql>“MySQL死锁的案例分享”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 无法远程桌面连接 批量管理云服务

远程桌面是微软公司为了便于网络管理员管理维护服务器推出的一项服务。从windows 2000 server版本开始引入,网络管理员时候远程桌面连接器连接到网络任意一台开启了远程桌面控制功能的计算机上,就像是自己操作该计算机一样,运行程序,维护数据库等。远程桌面…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/20 14:49
下一篇 06/20 14:49

相关推荐