Mysql
使用 myISAM 和 innoDB 表製作實時 mySQL 數據庫的快照,無需鎖定
我們有一個生產中的實時數據庫,我們的伺服器空間不足。所以我想在沒有任何停機時間(或盡可能少的停機時間)的情況下轉移到新伺服器。一般來說,我還希望有一個可用的數據庫熱故障轉移副本。
我想使用複制將所有數據複製到新機器上,然後在某個時候撥動開關,讓新機器成為主機器(正常的故障轉移場景)。我的問題是我不確定如何在不鎖定數據庫的情況下初始化複製以製作我將使用的初始快照?有沒有辦法做到這一點?我知道如果我使用的是 innoDB,我可以使用單事務來做到這一點,但非常不幸的是,我們有一些 myISAM 表(實際上最大的 150GB 表是 myISAM,我想將它切換到 InnoDB,但我不能這樣做直到我有更多空間和一個熱副本可以切換到)。
有任何想法嗎?有沒有辦法製作這樣的快照?或者是否有另一種方法可以讓複製“趕上”而無需初始化快照?
文件系統一致的快照可能是不可能的。正確的?
lvm 上的快照將是合理的起點…
您的數據的特徵是什麼——尤其是 myisam 中的數據特徵——變化很大嗎?