MySQL MyISAM和InNodb備份與恢復(fù)技巧
在許多情況下,你會發(fā)現(xiàn)使用SQL語句實現(xiàn)MyISAM表的維護比執(zhí)行myisamchk操作要容易地多:
· 要想檢查或維護MyISAM表,使用CHECK TABLE或REPAIR TABLE。
· 要想優(yōu)化MyISAM表,使用OPTIMIZE TABLE。
· 要想分析MyISAM表,使用ANALYZE TABLE。
這些語句比myisamchk有利的地方是服務(wù)器可以做任何工作。使用myisamchk,你必須確保服務(wù)器在同一時間不使用表。否則,myisamchk和服務(wù)器之間會出現(xiàn)不期望的相互干涉。
一般建議在停止mysql服務(wù)時執(zhí)行myisamchk,如果是在線執(zhí)行則最好先flush tables(把所有更新寫入磁盤)。
7. 備份策略摘要
1、一定用--log-bin或甚至--log-bin=log_name選項運行MySQL服務(wù)器,其中日志文件名位于某個安全媒介上,不同于數(shù)據(jù)目錄所在驅(qū)動器。如果你有這樣的安全媒介,最好進行硬盤負(fù)載均衡(這樣能夠提高性能)。
2、定期進行完全備份,使用mysqldump命令進行在線非塊備份。
在負(fù)載比較低的時候進行,并且建議采用--single-transaction參數(shù)來保證事務(wù)數(shù)據(jù)的一致性,同時不影響其他用戶的正常讀寫。
3、完整備份時采用FLUSH LOGS,便于產(chǎn)生增量備份日志。
4、用FLUSH LOGS或mysqladmin flush-logs 刷新日志進行定期增量備份。
5、定期維護表,這樣既可以提高性能,并且可以減少數(shù)據(jù)丟失和出錯的可能性。
6、關(guān)鍵表可以另外再做備份,根據(jù)需要
評論