5 MySQL熱備份及恢復

2021-10-24 19:07:14 字數 1516 閱讀 7536

與冷備份正好相反,熱備份是在資料庫處於執行狀態時直接備份,不影響現有業務的正常進行。熱備份又細分為邏輯備份和裸檔案備份,下面我們介紹邏輯備份和冷備份以及它們常用的備份和恢復的方法。

邏輯備份的最大優點就是對於各種儲存引擎,都可以用同樣的方法來備份。而冷備份則不同,不同的儲存引擎的備份方法也各不相同。因此,對於不同儲存引擎混合的資料庫,用邏輯備份會更簡單一些。

邏輯備份可以說是最簡單,也是目前中小型系統最常用的備份方法。邏輯備份主要有以下幾種方法:

1)mysqldump

mysqldump 是 mysql 自帶的邏輯備份工具。它的備份原理是通過協議連線到 mysql 資料庫,將需要備份的資料查詢出來,然後將查詢出的資料轉換成對應的 insert 語句。當我們需要還原恢復這些資料時,只要執行這些 insert 語句,就能將對應的資料還原。所以有的資料也將這種備份方式稱為 insert 備份。

恢復資料時可以使用 mysql -uroot -p2)select into…outfile

select into…outfile 語句可以把錶資料匯出到乙個文字檔案中,且能將資料庫中的表資料以特定分隔符進行分隔後記錄在文字檔案中,以達到邏輯備份的效果。

這種備份方式與 mysqldump 方法相比,使用的儲存空間更小,資料格式更加清晰明確,編輯方便。但是這種方法只能匯出或匯入資料的內容,不包括表的結構,如果表的結構檔案損壞,則必須先恢復原來的表的結構。而且這種方法不能在同乙個備份檔案中存在多個表的備份資料,增加了檔案維護和恢復的成本。

這種備份方法恢復起來會稍微麻煩一點,需要乙個表乙個表通過相關命令來進行恢復。當然如果是通過指令碼來實現自動多表恢復也是比較方便的。恢復方法有 2 個,乙個是通過 mysql 的 load data infile 命令來恢復資料,另一種方法就是通過 mysql 提供的使用工具 mysqlimport 來進行恢復。

我們在《mysql匯出表資料》和《mysql資料庫恢復(load data)》中詳細介紹了上面所講的備份和恢復資料的方法。

3)mydumper

mydumper 是針對 mysql 資料庫備份的乙個輕量級第三方的開源工具,備份方式為邏輯備份。它支援多執行緒,備份速度遠高於原生態的 mysqldump 以及其它眾多優異特性。與其配套的相應恢復資料為 myloader 工具。dba 稱 mydumper 和 myloader 為備份界的「小鋼炮」。

我們可以看出所謂的邏輯備份就是備份 sql 語句,然後恢復資料時執行備份 sql,從而實現資料庫資料的重現。邏輯備份完成後所形成的檔案都可以直接編輯。

裸檔案備份主要在底層複製資料檔案,所以備份速度要比邏輯備份更快。

我們利用 percona 公司發布的乙個 xtrabackup 熱備份工具來完成裸檔案備份,它是 percona 公司的開源專案,據官方介紹它是世界上唯一 一款開源的能夠對 innodb 和 xtradb 資料庫進行熱備的工具。

它的優點就是備份與恢復過程的速度很快,安全可靠,而且在備份過程中不會縮表,不影響現有業務。但它目前還是不能對錶結構檔案和其它非事務型別的表進行備份。

mysql熱拷貝 MySQL備份與恢復之熱拷貝

示意圖熱備模擬 第一步,熱拷貝 123 root serv01 databackup mysqlhotcopy uroot p123456 database larrydb larrydb hostcopy.sqlcan t locate dbi.pmin inc inccontains usr l...

mysql熱拷貝 MySQL備份與恢復之熱拷貝

熱備也就是在mysql或者其他資料庫服務在執行的情況下進行備份。本文分享另外一種備份的方法,也就是熱拷貝。熱拷貝跟熱備很類似,二 示意圖 三 熱備模擬 第一步,熱拷貝 root serv01 databackup mysqlhotcopy uroot p123456 database larrydb...

Mysql備份及恢復

備份遠端機器192.168.100.100上test資料庫test表結構及資料 mysqldump h192.168.100.100 uroot proot databases test tables test test.sql 備份表結構 no data mysqldump h192.168.10...