回答
我從詢問有關MYI表猜你所有的表是MyISAM表,而不是InnoDb的。每個MyISAM表由三個文件組成:.frm,.MYD和.MYI,它們分別包含結構,數據和索引。
人們建議不要從正在運行的系統中複製這些原始文件,但我發現只要您確定沒有任何內容寫入表格,那麼複製它們就能正常工作(我已經完成了比我想要記住的更多的次數)。
如果您正在複製副本上執行此操作,請在複製之前停止複製副本。如果它只是一臺服務器或主服務器,我建議在開始複製文件之前先運行FLUSH TABLES WITH READ LOCK
,這樣可以防止任何進程寫入表中。完成後,使用UNLOCK TABLES
釋放鎖定。
我總是會建議在以這種方式複製的表格上執行CHECK TABLE
。我覺得這是我已經在過去mysqlcheck --all-tables --fast --auto-repair
如果您使用LVM在服務器上,然後取一個LVM快照可以得到一個乾淨的快照保持的另一種方式使用。
如果你打算經常這樣做,我建議使用複製來保持本地服務器是最新的,或者設置一個可用於備份的slave(因爲它不是主數據庫你停止它,傾倒表等)的問題
是的,它是正常的,如果你
- 關閉MySQL服務器下複製文件乾淨之前,至少需要一個全球性的讀鎖
- 取.frm .MYI和.MYD文件。
- 具有相同的my.cnf,而且每個系統
上運行相同版本的MySQL所以它基本上是好的,但不一定是一個好主意。
如果你有不同版本的mysql(你通常只能移動到更新的版本,而不是更老的版本),或者運行時使用的是一個明顯不同的my.cnf(即任何全文索引參數不同,你有全文索引),你可能需要重建表格。重建表可以在目標服務器上用ALTER TABLE blah ENGINE = MyISAM完成;這可能仍然比mysqldump/restore快一點。
好的建議,但...我不認爲有很多配置選項,將導致問題與移動和次要版本之間移動應該沒事。我看到的唯一問題是在MyISAM存儲引擎格式發生變化的大版本差異(即4.x到5.0)上。 – 2011-04-27 21:54:01
有很多邊緣情況。特別是如果您使用全文索引。在某些情況下,它可能會產生一個表面上的表面,但有微妙的結構問題。 – MarkR 2011-04-28 16:17:38
- 1. 生產中的源文件映射文件 - 安全嗎?
- 2. FileStream是複製文件與File.Copy最安全的方法嗎?
- 3. 訪問生產中的SharedPreferences文件是否安全?
- 4. 在生產中保持Log.i安全嗎?
- 5. mysql_pconnect安全生產?
- 6. 什麼是在MySQL中創建表時生成的文件(.opt,.frm,.MYD,.MYI)
- 7. 複製文件的最安全方法
- 8. IStorage的複合文件實現是線程安全的嗎?
- 9. PlayFramework v 1.x生產安全嗎?
- 10. 如何從.myd,.myi,.frm文件中恢復MySQL數據庫
- 11. 如何在OS X Lion中恢復MySQL .frm .MYD .MYI文件
- 12. 如何恢復遠程主機中的MySQL .dump文件
- 13. php和mysql - 這是安全的嗎?
- 14. 在mysql中,「解釋...」總是安全嗎?
- 15. 在生產中使用django-kombu的芹菜安全嗎?
- 16. LevelDB的狀態如何?在生產中使用安全嗎?
- 17. MySQL .frm/.myd/.myi
- 18. 刪除複製中繼文件是否安全?
- 19. 複製文件安全權限
- 20. 多次產生ndb.Future是否安全?
- 21. Mysql dump無法解壓縮mysql文件
- 22. 是從std :: map或std :: set線程安全的複製嗎?
- 23. 使用Mysql複製生產數據庫
- 24. 爲什麼這是不安全的mysql複製
- 25. Silverlight文件上傳:這是安全嗎?
- 26. Android資產文件夾的安全性
- 27. 複製資產的文件夾複製到SD卡中顯示了在安卓
- 28. 列表複製線程安全嗎?
- 29. Python中的文件輸入是線程安全的嗎?
- 30. App_Data中的MDF文件,它是線程安全的嗎?
爲什麼不使用http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html? – 2011-04-27 17:27:18
'mysqldump'可以慢得多,但它更可能產生一致的結果。 – pkaeding 2011-04-27 20:42:37
明智的話通過pkaeding和值得投票 – 2011-04-27 21:30:06