1. 程式人生 > >Mysql備份恢復學習筆記

Mysql備份恢復學習筆記

重復 環境 rest sed 關閉 top 啟動 emctl trab

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

Mysql備份恢復學習筆記