全局锁:

  1.FTWRL(读锁)

    用于做全库的逻辑备份

  加锁:FLUSH TABLES WITH READ LOCK

  解锁:unlock tables

表级锁:

  1.表锁

    • 表锁的读锁和写锁

    加锁:lock tables 表名 read/write(读锁或写锁)

    解锁:unlock tables

    lock tables 语法除了会限制别的线程(对mysql客户端来说一个线程就是一个session,一次会话)的读写外,也限定了本线程接下来的操作对象。

    • 意向共享锁

    • 意向排他锁

  2.MDL锁(元数据锁)

    读锁:一条普通的增删改查语句即是MDL读锁

    写锁:对表的结构变更是MDL写锁

行级锁:

  1.共享锁(读锁,也就s锁)

  2.排他锁(写锁,也叫x锁)

  3.间隙锁

  4.next-key lock