zoukankan      html  css  js  c++  java
  • mysql的线程处于System lock状态下

    The thread has called mysql_lock_tables() and the thread state has not been updated since. This is a very general state that can occur for many reasons.
    
    For example, the thread is going to request or is waiting for an internal or external system lock for the table. This can occur when InnoDB waits for a 

    table-level lock during execution of LOCK TABLES. If this state is being caused by requests for external locks and you are not using multiple mysqld servers
    that are accessing the same MyISAM tables, you can disable external system locks with the --skip-external-locking option. However, external locking is
    disabled by default, so it is likely that this option will have no effect. For SHOW PROFILE, this state means the thread is requesting the lock (not waiting
    for it).

    System lock

    这个线程是被mysql_lock_tables()调用的。这种状态可能是很多种原因造成的。

    例如,一个线程想请求或者正在等一个表的内部或者外部的system lock;

            也可能是InnoDB在执行lock tables的时候,等表级锁;

            也可能是请求内部锁,比如访问相同MyISM表没有用多个mysqld服务;

    遇到这种情况,可以用--skip-external-locking选项,禁用内部的system locks。然而,内部锁如果默认禁用的话,那个选项就会没用了。

    如果是在show profile的时候遇到这种状态,就说明这个线程正在请求锁(不是等)。

    来源:https://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html 

  • 相关阅读:
    java学习笔记(三)
    JAVA 学习笔记(2)
    java学习笔记
    第二次作业完成情况
    第一次作业完成情况
    使用MarkDown标记语言发博客
    《Java高级程序设计》第一周作业
    纪逝去的毕业后的两年时光
    #这是来联系Markdown语法的
    CodeFirst初体验——问题三
  • 原文地址:https://www.cnblogs.com/sunss/p/6404961.html
Copyright © 2011-2022 走看看