【问题标题】:Mysql - lock and flush pending data for a specific tableMysql - 锁定和刷新特定表的待处理数据
【发布时间】:2016-02-28 09:06:04
【问题描述】:

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

应该采取哪些步骤来完成该(或最接近的)任务?

谢谢!

【问题讨论】:

    标签: mysql locking flush unlock


    【解决方案1】:

    好的,想通了。

    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`;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 2013-09-09
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 2022-08-16
      相关资源
      最近更新 更多