2010-02-08 48 views
0

我通常使用mysqldump導出數據庫。但是,當數據庫非常大時,直接將數據庫文件直接gzip而不涉及MySQL deamon並將其複製到其他數據庫似乎要快得多且密集程度更低。執行MySQL大型數據庫導出的最佳方法

如:

tar -czvf {db_name}.sql.tgz /var/lib/mysql/{db_name} 

這是這樣做的好方法嗎? (dis)的優點是什麼?

我也讀到這裏在另一個帖子裏提到:

rsync /var/lib/mysql/ ... 

難道是隻使用rsync保留的備份數據庫同步與發展分貝一個不錯的選擇?

回答

1

我已經使用rsync很好地移動文件並在其他盒子上使用它們。我從來沒有用MYSQL運行,但是我已經從/ var/lib/mysql中的文件中恢復,沒有任何問題。這是一個很好的方法來「複製」你的「開發」框中的數據庫。我建議關閉mysql,移動文件然後重新開始備份。這就是我在必要時完成的。

myqldump爲您提供了漂亮的SQL代碼,不過如果您需要在sed中「調整」某些東西的話,那很好。

雖然我不擔心使用rsync。我將它用於許多目的,包括將代碼更新推送到客戶機。

1

重新提到你提到的第一種方法:我認爲mySQL的官方mysqlhotcopy使用它,所以它不可能是完全錯誤的。

+0

是的,但mysqlhotcopy在啓動之前獲取表鎖,因此它在執行文件複製之前將表置於固定狀態。 – creuzerm

相關問題