我使用这个命令来“锁定”我的数据库、刷新日志、拍摄 LVM 快照并释放它。
测试 restore + binlogs ,似乎它不起作用。
(我在恢复过程中发现这一点,应用二进制日志会给出重复键的错误,而此时不应该存在的重复键)
我得到的行为是刷新后数据文件仍在写入。那么,这里有什么问题?我想念什么?
# echo "FLUSH TABLES WITH READ LOCK ; flush logs" | mysql -vvv
--------------
FLUSH TABLES WITH READ LOCK
--------------
Query OK, 0 rows affected (0.00 sec)
# mysql --version
mysql Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using EditLine wrapper
我不确定,但是在使用读锁刷新之后,如果我连接到任何数据库并尝试创建一个表,它应该锁定并等到 UNLOCK ,不是吗?
这不会发生,它成功创建了表。
编辑
我找到了一个文档,说要SET GLOBAL read_only = ON
在刷新和SET GLOBAL read_only = OFF
.
所有其他建议、博客、教程、手册都没有提到这是必需的。
更多疑问!!!
编辑 2
插入和更新仍然有效......