Mysql - 锁定和刷新特定表的挂起数据

时间:2015-11-25 14:16:12

标签: mysql locking flush unlock

我需要暂时重命名一个表。这个表一直有插入。所以我的想法是锁定表格进行写入和读取,然后刷新所有可能的挂起插入,然后重命名表格,做一些事情,重新命名表格并解锁它以便它可以再次使用。

应该采取哪些步骤来实现(或尽可能接近)任务?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,想通了。

lock tables sometable write;
flush tables sometable;
unlock tables; rename table `sometable` to `sometable_locked`;
-- do something useful
rename table `sometable_locked` to `sometable`;

或者

lock tables sometable write;
flush tables sometable;
alter table `sometable` rename to `sometable_locked`;
-- do something useful
unlock tables; alter table `sometable_locked` rename to `sometable`;