簡體   English   中英

一次備份多個數據庫[MySQL]?

[英]Backup multiple Databases[MySQL] at 1 time?

嗨,我有多個數據庫需要每天備份。 當前,我正在使用cronjob設置一個批處理文件來備份它。 這是我的情況,我大約需要備份10個數據庫,其中3個正在快速增長,讓我向您展示當前的數據庫大小:

  • DB1 = 35 mb
  • DB2 = 10 mb
  • DB3 = 9兆字節
  • 其余:DBx = 5 mb

我的批處理文件代碼是:

mysqldump -u root -pxxxx DB1 > d:/backup/DB1_datetime.sql
mysqldump -u root -pxxxx DB2 > d:/backup/DB2_datetime.sql
... and so for the rest

我已經運行了2天,對我來說還可以。 但是我不知道這是否會在執行批處理文件時影響我的網站性能。

如果此方法不好,如何在運行中備份多個數據庫,並且數據庫的大小每天都在增加?

這取決於表的類型。 如果表是innoDB,則應該使用--single-transaction標志,以便轉儲是連貫的。 如果您的表是MyISAM,那么您將遇到一個小問題。 如果按原樣運行mysqldump,則轉儲將導致表在執行轉儲時鎖定(不寫)。 隨着數據庫的不斷擴大,這顯然是一個巨大的瓶頸。 您可以使用--lock-tables=false選項覆蓋此設置,但是可以保證備份中不會包含一些不一致的數據。

理想的解決方案是在生產環境之外安裝備份復制從屬服務器以進行轉儲。

如果您仍在尋找實現此目標的方法,則可能會對以下內容感興趣: this

它使用轉儲為每個數據庫創建一個文件,並使您節省大量時間,而只需進行第一個配置。

希望能有所幫助,問候。

暫無
暫無

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

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