首页 > 数据库技术 > 详细

MySQL 死锁的恢复

时间:2020-11-24 20:28:50      阅读:46      评论:0      收藏:0      [点我收藏+]

MySQL 死锁的恢复

  1. 死锁产生的原因
    • 怎么产生的死锁其实是一个复杂的问题, 但归根结底就是不同的事务锁住了不同的资源, 不能释放, 又在请求其他的资源, 其他的资源被另一个事务占用, 又在等待该事务释放资源, 互相等待, 互相又无法释放资源给其他事物, 造成死锁.
  2. 死锁的恢复
    • 重启服务器
      这个方法很直接, 但如果是线上环境就不好办了, 重启很麻烦.
    • 断开服务器与数据库的所有连接
    select replace(group_concat(concat(‘KILL ‘,id,‘;‘)), ‘,‘, ‘‘) from information_schema.processlist
            where user=‘card‘ and db = ‘card‘ order by 1;
    
    -- 找到 card 数据库 card 用户的所有连接, 然后把这个 id 和 kill 连起来, 然后得到一个 SQL语句, 再次执行这个新生成SQL, 会把当前用户的所有连接杀掉, 死锁会恢复, 不用重启服务器.

MySQL 死锁的恢复

原文:https://www.cnblogs.com/zh1903/p/14031934.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!