zoukankan      html  css  js  c++  java
  • mysql 表死锁

    今天因为mysql导入数据,导致其中一张表死锁 下面来说说怎么解决死锁问题

    1.先说明一下导致mysql 死锁的四个条件

    互斥条件:就是一个资源只能有一个进程占有,不可以被两个或者多个进程占有

    不可抢占条件:进程已经获得的资源在未使用完之前,不可以被抢占,只能在使用完之后自己释放

    占有申请条件:进程自己已经至少保持一个资源,又请求其他资源,但是这个资源被其他进程占有,而且又不释放自己已经占有的资源

    循环等待条件:发生死锁时,必定会形成一个进程——资源的环路。进程集合{p1,p2,p3}中,p1请求p2占有的资源,p2请求p3占有的资源,p3请求p1占有的资源

    解决死锁的方案

    第一种:

    1.查询是否锁表

    show OPEN TABLES where In_use > 0;

    2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)

    show processlist

    3.杀死进程id(就是上面命令的id列)

    kill id

    第二种:

    1.查看下在锁的事务 

    SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

    2.杀死进程id(就是上面命令的trx_mysql_thread_id列)

    kill 线程ID

  • 相关阅读:
    php命令注入
    mysql事物
    安装php环境
    移除服务器缓存实例
    show user profile synchronization tools
    manual start user profile import
    JSON is undefined. Infopath Form People Picker in SharePoint 2013
    asp.net web 应用站点支持域账户登录
    Load sharepoint envirement by powershell
    sharepoint 2016 download
  • 原文地址:https://www.cnblogs.com/qi2332356/p/10939492.html
Copyright © 2011-2022 走看看