首先,如果你想恢復(fù)的數(shù)據(jù)庫是包含授權(quán)表的 mysql 數(shù)據(jù)庫,你需要用 --skip-grant-table 選項運行服務(wù)器。否則,它會抱怨不能找到授權(quán)表。在你已經(jīng)恢復(fù)表后,執(zhí)行 mysqladmin flush-privileges 告訴服務(wù)器裝載授權(quán)標(biāo)并使用它們。將數(shù)據(jù)庫目錄內(nèi)容拷貝到其它某個地方,如果你在以后需要它們。用最新的備份文件重裝數(shù)據(jù)庫。如果你用 mysqldump 產(chǎn)生的文件,將它作為 mysql 的輸入。如果你用直接從數(shù)據(jù)庫拷貝來的文件,將它們直接拷回數(shù)據(jù)庫目錄,然而,此時你需要在拷貝文件之前關(guān)閉數(shù)據(jù)庫,然后重啟它。使用更新日志重復(fù)做備份以后的修改數(shù)據(jù)庫表的查詢。對于任何可適用的更新日志,將它們作為 mysql 的輸入。指定 --one-database 選項使得 mysql 只執(zhí)行你有興趣恢復(fù)的數(shù)據(jù)庫的查詢。如果你知道你需要運用所有更新日志文件,你可以在包含日志的目錄下使用這條命令:
% ls -t -r -1 update.[0-9]* │ xargs cat │ mysql --one-database db_name