簡體   English   中英

如何快速克隆mysql innodb數據庫

[英]How to clone mysql innodb database quickly

我們使用MySQL(innodb)來存儲我們的數據。 我們有集成測試,可以啟動mysql數據庫(通過docker容器)並連接到數據庫。 我們將MyISAM用於測試DB(原因如下所述)。

我們的方式是,第一個測試將sql架構加載到模板DB中,后續測試將使用文件副本簡單地克隆DB。 由於MyISAM在文件復制方面工作正常,我們只需將整個數據庫目錄復制到一個新目錄,我們為每個測試都有一個新的克隆數據庫。 這一直運行良好,特別是我們的集成測試在幾秒鍾內運行。

但是,隨着我們添加更多測試,我們繼續發現由於InnoDB和MyISAM之間的差異而導致的問題(索引大小,外鍵約束等等)。 我們希望將測試數據庫移動到使用InnoDB,但希望保持快速的克隆操作。 執行mysqldump和恢復將需要30秒以上,而今天需要100毫秒。

我的問題是,有沒有辦法快速克隆InnoDB?

備份InnoDB數據庫的一種更快的方法是使用像innobackupex這樣的工具。

如果首先使用FLUSH TABLES ,您還可以對數據庫進行映像,以一種在快照時應該保持一致的方式將所有內容提交到磁盤。 某些服務(例如Amazon EC2)允許對運行的實例進行映像,以后可以單獨啟動或用作備份還原點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM