恢復整個資料庫
首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用--skip-grant-tables選項執行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladminflush-privileges來告訴伺服器載入授權表,並用它們啟動。
將原資料庫目錄的內容複製到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortemexamination)。
用最新的備份檔案重新載入資料庫。如果您打算使用由mysqldump載入的檔案,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接複製的檔案(如,用tar或cp),則將它們直接複製回到該資料庫目錄中。但是,在這種情況下,應該在複製這些檔案之前關閉伺服器,然後再重新啟動它。
用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定--one-database選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌檔案,可在包含日誌的目錄中使用下列命令:
%ls-t-r-lupdate.(0-9)*|xargscat|mysql--one-databasedb_name
ls命令產生更新日誌檔案的單列列表,更新日誌檔案根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何檔案,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。
您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393等等,可以重新執行它們中的命令:
%mysql--one-databasedb_name
恢復整個資料庫
首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用--skip-grant-tables選項執行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladminflush-privileges來告訴伺服器載入授權表,並用它們啟動。
將原資料庫目錄的內容複製到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortemexamination)。
用最新的備份檔案重新載入資料庫。如果您打算使用由mysqldump載入的檔案,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接複製的檔案(如,用tar或cp),則將它們直接複製回到該資料庫目錄中。但是,在這種情況下,應該在複製這些檔案之前關閉伺服器,然後再重新啟動它。
用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定--one-database選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌檔案,可在包含日誌的目錄中使用下列命令:
%ls-t-r-lupdate.(0-9)*|xargscat|mysql--one-databasedb_name
ls命令產生更新日誌檔案的單列列表,更新日誌檔案根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何檔案,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。
您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393等等,可以重新執行它們中的命令:
%mysql--one-databasedb_name