2011-11-10 78 views
0

我需要知道這是否是正確的方式(而不是在備份時丟失寫入的數據)來備份二進制文件?備份mysql二進制文件

1.

LOCK TABLES 
    tbl_0 READ, 
    tbl_1 READ, 
    tbl_2 READ 

FLUSH TABLES WITH READ LOCK 

2.

copy *.frm, *.myd, *.myi files 

3.

UNLOCK TABLES 

回答

1

這不足以做到這一點。

最好是完全關閉數據庫,並複製數據目錄的全部內容。

或者,您可以讓數據庫繼續運行並獲取原子文件系統快照。

如果您確定只使用MyISAM表(並且InnoDB在您的系統中是完全禁用的,與其他引擎完全一樣),您可能會在「FLUSH TABLES WITH READ LOCK」帶來的全局鎖定下進行轉儲。這確實會影響系統,但並不像關機那麼糟糕。

請注意,如果您有任何InnoDB表(任何存在於服務器中的任何位置),則無法以此方式進行備份。 「帶有讀鎖的刷新表」不足以備份innodb。