實現多種方式對MYSQL進行備份

  1、mysqldump+binlog備份與恢復mysql

  此方式是徹底備份,經過備份二進制日誌實現增量備份。具體步驟以下:sql

  ①建立備份的目錄數據庫

  4f0365844b7e4b0c7bb3647c6eaaf271.png

  ②建立備份的數據庫和表。app

  d5b6dd2febeabf647d74aa19c6cd6cd4.png

  ③備份數據庫ide

  f2bd277161531edcbe0feab46e789613.png

  ④向表中插入數據。測試

  336d63080d808583db59335fad5d0e09.png

  ⑤進行增量備份,備份二進制日誌。 【記得開啓二進制日誌】spa

  mariadb配置文件3d

  d4ed430d875419a5c387d1c4c1a525bb.png


 5965fe94f45c7c9805624388f593c0c0.png   

  ⑥進行增量備份,備份二進制日誌日誌

  查看二進制日誌blog

  7ca1aae0a4acef78c8fbba69393d7bac.png


  再添加一條數據進行備份二進制日誌

  1c6d6f4bf3bbf85c542c093a2b6cb900.png  ⑦繼續插入數據,沒有備份,模擬誤刪除數據庫。

  e65fe8224bb3dd1935773bafb93b390b.png


  將最後操做的二進制日誌進行備份

  查看最後操做日誌的命令:

  mysqlbinlog /var/lib/mysql/log-bin.0000002 (注:×××表明自定義二進制日誌的名)

  f8ec660b01137ea6da8688eb2f710bda.png


 fe87063855eba03ebc4cce5cf28dabaa.png  ⑧導入以前全部備份

 9b662b53b20892bebe421dddb0156dbf.png

 ⑨查看數據庫及數據。

 7961ff1ef08a8bd09a23d916ecc10b23.png

 恢復成功。

  2、xtrabackup方式備份

  對InnoDB:熱備,支持徹底備份和增量備份

  對MyISAM:溫備,只支持徹底備份

  特色:

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

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

  (3)可以基於壓縮等功能節約磁盤空間和流量

  (4)自動實現備份檢驗

  (5)還原速度快

  實現步驟:

  ①安裝包。

  yum install xtrabackup

  ②進行徹底備份。

  命令:innobackupex --user=root /app/backup/,並進行修改權限。

  52c050916cd37bbd3a9c3d3952ea66d8.png


  修改mariadb配置文件,修改目錄路徑。

  0cc9c1043a0b5e6b26bf8cad68e3d3be.png

  重啓數據庫查看數據庫內容。

  499cfe1e39bd30f5e5b181d119623d47.png

  ③實現增量備份

  對test數據庫的backup表裏增長數據。

  cb80d0702662264df569612145a5551b.png


  命令:innobackupex --incremental /app/backup/ --incremental-basedir=/app/backup/2017-11-16_15-49-35 【儘可能寫絕對路徑】

  25d3e3a0ca623c414551bbe1c808e63d.png

  ④實現數據恢復

  數據恢復準備:

  命令:innobackupex --apply-log --redo-only /app/backup/2017-11-16_16-42-25/

  cf707e4097d293f2c6f8e163b49f6a0b.png

  模擬損壞數據庫。

  命令:mv /var/lib/mysql /var/lib/mysql.bak

  建立mysql  mkdir mysql

  cd mysql/  執行命令:innobackupex --copy-back /app/backup/2017-11-16_16-45-10

  重啓數據庫進行查看

  3610cc1be731cf140faf4607e8b894d6.png

  3、基於lvm快照+binlog實現備份。

  ①添加一塊硬盤

  6b3216f359f382605cc9ad4c20ac7665.png

  ②進行分區,並格式化LVM格式。

  77c431a956a9645cf44a84ab9355c709.png

  ③建立邏輯卷組並進行掛載。

  52a62190077c395a7026fca92414e692.png

  ④移動數據庫文件,修改數據庫配置文件,進行重啓。

  84c0bd944a378b5f7d5bc9c1163c26b7.png 

  修改權限:chown -R mysql:mysql /mnt/lvs_snap/ 

  ⑤建立測試數據庫,並鎖定數據庫。

  12d738cc3933e0e84e57ca189cc12cfc.png

  ⑥給數據庫進行快照,並解鎖全部表。

  7d4e721adb302dc0e279b81b3b5bc699.png

  ⑦掛載建立的快照,並對其內容進行打包。

  mkdir /mnt/test_snap -p

  mount /dev/mysql/test-snap /mnt/test_sanp/

  tar cvf /app/mysqlbackup.tar /mnt/tset_snap/

  c8b9aa54910edf43d64c631925d999e6.png  ⑧取消掛載,刪除快照。

  umount /mnt/test_snap

  rm -rf /dev/mysql/test-snap

 7b2ece8dce1ba7fead82a798062face1.png

  ⑨刪除數據庫,並對壓縮包解壓。

  rm -rf /mnt/lvm_snap/*

  tar xvf /app/mysqlbackup.tar /mnt/lvm_snap/

  c08231d5d3c99a55058457d59426aee9.png

  ⑩重啓服務,驗證是否數據恢復。

相關文章
相關標籤/搜索