• MySQL查看锁表的状态命令


    MySQL查看锁表的状态命令

    1、mysql 查看锁表解锁

    -- 查看那些表锁到了 show open tables where in_use > 0;
    -- 查看进程号 show processlist;
    -- 删除进程 kill 1085850;

    2、查询是否锁表
    show open tables where in_use > 0;
    show open tables;

    3、 锁定数据表,避免在备份过程中,表被更新
    mysql>lock tables tbl_name read;

    4、为表增加一个写锁定
    mysql>lock tables tbl_name write;

    5、 解锁
    unlock tables;

    6、查看表的状态
    show status like 'table%';
    show status like 'innodb_row_lock%';

    注意:该处是锁定为只读状态,语句不区分大小写

    这里还有一些常用的命令。

    1、 关闭所有打开的表,强制关闭所有正在使用的表
    flush tables

    2、关闭所有打开的表并使用全局读锁锁定所有数据库的所有表
    flush tables with read lock;

    3、如果一个会话中使用lock tables tbl_name lock_type语句对某表加了表锁,在该表锁未释放前,那么另外一个会话如果执行flush tables语句会被阻塞,执行flush tables with read lock也会被堵塞

    show status like 'innodb_row_lock%';

    show status like 'table%';
    Table_locks_immediate表示立即释放表锁数,
    Table_locks_waited表示需要等待的表锁数,
    Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎,

    因为InnoDB是行锁而MyISAM是表锁,对于高并发写入的应用InnoDB效果会好些。
    示例中的服务器Table_locks_immediate / Table_locks_waited = 235,MyISAM就足够了。

  • 相关阅读:
    jQuery 往table添加新内容有以下四个方法:
    Postgresql 截取字符串
    如何取得select结果数据集的前10条记录。postgresql
    postgreSQL除法保留小数
    Java面试——微服务
    Vue面试中,经常会被问到的面试题/Vue知识点整理
    Java面试之五大框架的理解
    Session共享的四种方法
    ES6参考---三点运算符实质
    VUE实例课程---40、counter实例
  • 原文地址:https://www.cnblogs.com/walkersss/p/15936002.html
Copyright © 2020-2023  润新知