歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

馬哥linux培訓視頻講的基於lvm快照實現備份,頭一次聽說,大家有使用過嗎


基於lvm快照實現備份
使用lvm快照提供幾乎熱備的物理備份+二進制日志

1、施加鎖
mysql> flush tables with read lock; ##此時一定不能退出用戶,可以另開一個終端
mysql> flush logs; ##滾動日志
mysql> show master status; ##記錄二進制日志文件名字和位置,用於做時間點恢復
2、創建分區
# fdisk /dev/sda

# partprobe /dev/sda
3、創建一個邏輯卷用於存放數據,
# pvcreate /dev/sda5
# vgcreatemyvg /dev/sda5
# lvcreate -L 1G -n data myvg
# mke2fs -j /dev/myvg/data
# vim /etc/fstab ##掛載至/mydata/data
/dev/myvg/data /mydata/data
##這些可以事先創建好

4、創建快照卷
# lvcreate -L 200M -n data-snap -s -p r /dev/myvg/data
##快照卷和原卷在一個卷組上
-L:大小
-n:名字
-s:快照
-p:權限,這裡為只讀

mysql> unlock tables;

# mkdir /snap ##為快照卷建立掛載點
# mount -r /dev/myvg/data-snap /snap ##掛載快照卷
# cd /snap/
# tarjcf /tmp/all_data_`date -I`.tar.bz2 ./* ##對數據打包

# umount /snap ##卸載
# rm -rf /snap ##刪除掛載點
# lvremove --force /dev/myvg/data-snap ##刪除快照卷,數據打包後快照卷已不需要了

5、模擬故障:
mysql> drop jiaowu;

停掉mysql
servicemysqld stop

6、數據恢復
基於物理備份恢復數據時一定是冷備份,需要停止mysql服務
# servicemysqld stop
# cp /mydata/data/mysql-bin* /tmp ##主要備份和誤操作時間點相近二進制日志文件
##如mysql-bin.00007
# cd /mydata/data
# rm -rf ./*
恢復數據:
tarxf /tmp/all_data_`date -I`.tar.bz2 -C ./
##把備份壓縮的數據解壓到當前目錄下,需注意目錄的屬主和屬組
重啟mysqls服務,

7、接著用二進制日志做即時點恢復
# mysqlbinlog --stop-position=# /tmp/mysql-bin.00007 >/tmp/jiaowu.sql
進入mysql
mysql> set sql_log_bin=0; ##關閉二進制日志
mysql> source /tmp/jiaowu.sql
mysql> set sql_log_bin=1;
Copyright © Linux教程網 All Rights Reserved