Mysql備份恢復學習筆記

xtrabackup 物理備份+binlog

完整備份

創建備份目錄:#mkdir /back/full
備份:#innobackupex --user=root --password='123' /back/full

完整備份恢復流程

關閉數據庫:#systemctl stop mysqld
清理環境:#rm -rf /var/lib/mysql/*
#rm -rf /var/log/mysqld/log

恢復之前的驗證恢復

#innobackupex --apply-log /back/full/完整備份目錄

確認數據庫目錄

#cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql

恢復數據

#innobackupex --copy-back /back/full/完整備份目錄

修改權限

chown -R mysql.mysql /var/lib/mysql/*

啓動數據庫

#systemctl start mysqld

增量備份

第一天:完整備份

#innobackupex --user=root --password='123' /back/full1
添加數據進庫

第二天:增量備份

#innobackupex --user=root --password='123' --incremental /back/full1 --incremental-basedir=/back/full1/完整備份目錄

.........
.........

增量備份恢復流程

停止數據庫

#systemctl stop mysqld

清理環境

#rm -rf /var/lib/mysql/*
#rm -rf /var/log/mysqld.log

依次重演回滾

第一天的數據
#innobackupex --apply-log --redo-only /back/full1/完整備份目錄
第二天
#innobackupex --apply-log --redo-only /back/full1/完整備份目錄 --incremental-dir=/back/full1/增量備份目錄
重複之前的操作

恢復數據

#innobackupex --copy-back /back/full1/回滾之後的完整備份目錄

修改權限

#chown -R mysql.mysql /var/lib/mysql

重啓數據庫

#systemctl restart mysqld

差異備份

第一天:完整備份

#innobackupex --user=root --password='123' /back/full2
插入數據

第二天:差異備份

#innobackupex --user=root --password='123' --incremental /back/full2 --incremental=basedir=/back/full2/完整備份目錄
..........
..........

差異備份恢復流程

停止數據庫

#systemctl stop mysqld

清理環境

#rm -rf /var/lib/mysql/*
#rm -rf /var/log/mysqld.log

恢復全量的redo log

#innobackupex --apply-log --redo-only /back/full2/完全備份目錄

恢復差異的redo log

#innobackupex --apply-log --redo-only /back/full2/完全備份目錄 --incremental-dir=/back/full2/某個差異備份

複製數據文件

#innobackupex --copy-back /back/full2/回滾之後的完整備份目錄

修改權限

#chown -R mysql.mysql /var/lib/mysql

##啓動數據庫

#systemctl start mysqld

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章