千家信息网

MySQL 5.5 FLUSH TABLES WITH READ LOCK语句介绍

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,FLUSH TABLES WITH READ LOCK语句会关闭所有打开的表,并将所有数据库的表加上全局只读锁。这对于备份来说十分方便。如果有像 Veritas 或 ZFS 这样的文件系统,你可以对备
千家信息网最后更新 2024年11月17日MySQL 5.5 FLUSH TABLES WITH READ LOCK语句介绍FLUSH TABLES WITH READ LOCK语句会关闭所有打开的表,并将所有数据库的表加上全局只读锁。
这对于备份来说十分方便。如果有像 Veritas 或 ZFS 这样的文件系统,你可以对备份打快照。

也可以直接拷贝要备份的表文件到备份目录

cp -r /data_dir/ /back_dir

使用 UNLOCK TABLES 语句来释放锁。

--例子一
--会话①
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.04 sec)

--会话②,DML操作会hang住
mysql> insert into test values(10,'LEADER','Beijing');

--会话①
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.01 sec)

--会话②,DML操作成功
mysql> insert into test values(10,'LEADER','Beijing');
Query OK, 1 row affected (18 min 44.54 sec)
0