MySQL flush tables with read lock

mysql> flush tables with read lock;

flush tables with read lock 会去关闭已经打开的所有文件,它要做这个操作就先要拿到锁;当发起这个语句的session退出之后,才会释放锁。由于它拿到的是S锁,它有能力阻塞innodb表的commit操作;也就是说它能阻塞innodb的写入操作;由于flush tables with read lock 的这个特性,它通常用在备份的过程中,以此来得到一个一致的备份。

原文地址:https://www.cnblogs.com/JiangLe/p/6196710.html