memcachedb如何備份恢復?memcachedb如何啟動?

不同於memcached,memcachedb是作為永續性儲存的資料庫設計的的key value型資料庫,雖然不象傳統關係型資料庫那麼強大,但麻雀雖小,五臟俱全,基本的功能還是該有都有。

工具/原料

telnet客戶端

1.2.0已安裝

方法/步驟

memcahcedb從2009年起就沒有作版本更新了,所以不用擔心本文的操作不適用於自己的版本; 假設服務端已經安裝完成,用whereis memcachedb命令來查詢安裝執行的目錄

memcachedb如何備份恢復?memcachedb如何啟動

memcachedb由於設計成輕型系統,所以啟動很靈活,最簡單的啟動就是memcachedb -u username -d,其中-u表示以後面跟的user許可權執行,-d表示後臺執行。

memcachedb如何備份恢復?memcachedb如何啟動

當然在絕大多數生產環境這樣的啟動太簡單,比如資料檔案往往是和程式安裝檔案分離的,那麼啟動時用-H <目錄名> 來指定資料檔案目錄,另外為提高安全,往往會將程式啟動在非預設埠,以 -p <埠名> 表示。

memcachedb如何備份恢復?memcachedb如何啟動

最重要的一點,預設啟動並不輸出日誌,需要手動增加啟動引數-v輸出日誌,這時的日誌是輸出到終端屏,在系統除錯時特別重要,用-vv可顯示更詳細的日誌,除錯結束後,正常啟動可使用重定向符>> <檔名> 來輸出日誌到檔案。

memcachedb如何備份恢復?memcachedb如何啟動

memcachedb和關係型資料庫一樣,也是目錄下也是分為資料檔案和日誌檔案,一般情況下的異常,正常啟動資料庫後,系統可以通過資料檔案和日誌的對比,自動恢復資料庫。

memcachedb如何備份恢復?memcachedb如何啟動

由上可知memcachedb也有一致性的持性,只要儲存有建庫以來的所有日誌檔案,即便資料檔案不存在,也是可以進行恢復,命令為db_recover -cf -h /data/memcachedb。

memcachedb如何備份恢復?memcachedb如何啟動

db_recover是安裝memcachedb時安裝的工具,也可以通過whereis來查詢命令,-h後面直接跟日誌所在的目標,-c代表的是災難型恢復,命令的最後也可以增加 -v輸出日誌。

memcachedb如何備份恢復?memcachedb如何啟動

上面的方法雖然簡單,但如果資料量比較大,儲存自建庫以來的日誌實際也是不可能的,所以還是定期的備份,使用db_hotbackup -h

來線上備份資料庫檔案。

memcachedb如何備份恢復?memcachedb如何啟動

用檔案拷貝而不用上述那些工具也是可以作庫的備份的,但小編髮現,在恢復方面要比關係型資料庫要弱,所以在編寫角本時一定要打包備份資料檔案,再備份日誌。

memcachedb如何備份恢復?memcachedb如何啟動

所以注意無論用哪種辦法,必須擁有備份以後的所有日誌,或者日誌檔案中的SCN要比資料檔案新,這樣才是可恢復的,不然一定會因為SCN不一致而地恢復成功。

memcachedb如何備份恢復?memcachedb如何啟動

因此定期日誌檔案是件需要慎重的工作,預設系統提供了db_archive -d -h

命令來定期清理日誌檔案,依據是資料是否被刷進資料檔案,之前的所有日誌都會被刪除。

memcachedb如何備份恢復?memcachedb如何啟動

這種清理方案可能導致需要作災難恢復時無法恢復資料庫,因此小編不建議用這樣的方案進行清除,或者進行清理前需要用copy命令將日誌歸檔到離線目標才是最安全的。

memcachedb如何備份恢復?memcachedb如何啟動

注意事項

memcache是個快取系統,一字之差,千差萬別,別搞混了

資料庫, 備份, 永續性,
相關問題答案