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