2011-01-21 221 views
0

我正在更新一個實時數據庫,通過添加新表的過程。恢復mysql數據庫

有沒有辦法,如果這些更新出錯了,要恢復原來的?

謝謝

+0

如果您除了添加新表格之外沒有其他任何操作,您應該可以將它們「刪除」。 (當然,備份副本太多不是一個大問題,但太少太可怕了。) – 2014-01-14 11:49:28

回答

3

如果你將要改變的實時數據庫,那麼你真的需要你開始之前做備份,您移除任何前置式訪問後最好後端網站等,以便沒有「活動」的數據庫活動。 (如果你使用的是InnoDB而不是MyISAM表,那麼這個問題就不那麼嚴重了。)另外,當你進行修改時,你應該理想地阻止對數據庫的所有訪問,否則如果你必須將數據庫滾回到其以前的狀態。

要創建備份,最簡單的解決方案是使用與MySQL捆綁的mysqldump命令行工具。這將創建一個文本文件,您可以使用該數據庫恢復到其原始狀態。

作爲提示,您可能需要特別注意「--add-drop-table」選項,因爲如果您想在備份文件的內容上跺一下任何內容,這將證明是有用的。 (注:這當然會擦出ALL「當前」的數據。)

最後,如果你將要作出的任何顯著的變化,那麼你真的想:

  1. 創建攜帶所有必要的改變等腳本(然後你可以在命令行通過「mysql < [text file name]」執行腳本。)

  2. 使用mysqldump轉儲數據庫的當前內容,然後建立一個測試數據庫與這些數據,因此您可以確保您的更改實際上按預期工作。

5

是的。通過這樣做備份第一 ..

+2

+1來自我。 (無法抵制強調「第一」的道歉。):-) – 2011-01-21 11:09:46

+0

+1和@middaparka的額外功勞**強調**它:) – BoltClock 2011-01-21 11:09:54