mysql 災難策略 mysql災難性事故恢復

2021-10-18 21:03:46 字數 1742 閱讀 2104

mysql常見備份方案有以下三種:

mysqldump + binlog

lvm + binlog

xtrabackup

本例為方便演示,資料庫裡面資料為空。下面開始動手

1、利用mysqldump完全備份mysql,配合二進位制日誌備份實現增量備份

mysqldump 選項請參考

1.1提供模擬資料

1.2全量備份:

1.3 模擬資料發生改變

1.4 增量備份

1.5 資料損壞

1.6 恢復

上面已經提供了步驟,直接複製過來使用。

1.7小結,mysqldump適合於資料量較小的場合,它的優點是有眾多選項,使用起來非常靈活,缺點是資料量一旦過大,非常耗時耗力。

2、使用lvm進行全備。

lvm快照卷原理參考

2.1 資料接著上次繼續開始。

2.2 全備。

需保證資料庫存放在邏輯捲組上面,才行。

2.2.1首先鎖表和滾動日誌

2.2.2建立快照

2.2.3 解鎖表

2.2.4 複製快照卷資料到備份目錄下

2.2.5 刪除快照

2.3增量備份,只需和定時複製binlog到備份目錄下面即可

2.4恢復,只需要直接拷貝備份目錄下的檔案即可

2.5小結:

lvm實現物理備份速度相對mysqldump來比較快,實現也比較簡單,是不錯的選擇。

缺點:資料目錄必須存放在lvm捲組上面

3、使用xtrabackup實現熱備。

使用方法參考:詳細參考:

3.1建立乙個具有最小許可權的使用者

3.2完全熱備。

使用innobakupex備份時,其會呼叫xtrabackup備份所有的innodb表,複製所有關於表結構定義的相關檔案(.frm)、以及myisam、merge、csv和archive表的相關檔案,同時還會備份觸發器和資料庫配置資訊相關的檔案。這些檔案會被儲存至乙個以時間命令的目錄中。

(1)xtrabackup_checkpoints —— 備份型別(如完全或增量)、備份狀態(如是否已經為prepared狀態)和lsn(日誌序列號)範圍資訊;

每個innodb頁(通常為16k大小)都會包含乙個日誌序列號,即lsn。lsn是整個資料庫系統的系統版本號,每個頁面相關的lsn能夠表明此頁面最近是如何發生改變的。

(2)xtrabackup_binlog_info —— mysql伺服器當前正在使用的二進位制日誌檔案及至備份這一刻為止二進位制日誌事件的位置。

(3)xtrabackup_binlog_pos_innodb —— 二進位制日誌檔案及用於innodb或xtradb表的二進位制日誌檔案的當前position。

(4)xtrabackup_binary —— 備份中用到的xtrabackup的可執行檔案;

(5)backup-my.cnf —— 備份命令用到的配置選項資訊;

3.3提供改變資料。

3.4增量備份

3.5 模擬資料損壞

3.6增量備份恢復

#注意,多例項的話,仍然需要備份配置檔案,啟動的時候需要binlog目錄。

3.6啟動資料庫檢視。

小結:xtrabacup具有如下特點。

(1)備份過程快速、可靠;

(2)備份過程不會打斷正在執行的事務;

(3)能夠基於壓縮等功能節約磁碟空間和流量;

(4)自動實現備份檢驗;

(5)還原速度快;

因此建議學會熟練使用xtrabackup進行備份和還原。

mysql容災方案 mysql 架構 異地容災

一 簡介 我們來 下多機房下的mysql架構 二 目的 首先要清楚你的目的 1 實現異地機房的容災備份 2 實現異地機房的雙活 三 敘說 1 實現異地機房的容災備份 目的 只是將資料備份到異地,當第一機房發生故障時,能最大可能的保留資料.實現冗餘效果 業務 核心業務在第一機房,第二機房和第一機房都共...

mysql 容災 災備 備份

1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...

MySQL之災難恢復

檢視bin log日誌狀態 show master status 在mysql中執行 檢視bin log檔案 mysqlbinlog shop pos256 檔名 less 引數說明 shop pos256 表示只檢視某個節點之前的 less 表示分頁 重新整理日誌 新建乙個檔案重新記錄,封存老的檔...