Mysql備份恢復

MySQL備份的類型

按照備份時對數據庫的影響範圍分爲
1、Hot backup(熱備) Cold Backup(冷備)Warm Backup(溫備)
Hot backup:指在數據庫運行中直接備份,對正在運行的數據庫沒有任何影響。(Online Backup)官方手冊爲在線備份
2、Cold Backup:指在數據庫停止的情況下進行備份(OfflineBackup) 官方手冊稱爲離線備份
3、Warm Backup:備份同樣在數據庫運行時進行,但是會對當前數據庫的操作有所影響,例如加一個全局讀鎖以保證備份數據的一致性
按照備份後文件內容
1、邏輯備份
指備份後的文件內容是可讀的,通常爲文本文件,內容一般是SQL語句,或者是表內的實際數據,如mysqldump和SELECT * INTO OUTFILE的方法,一般適用於數據庫的升級和遷移,恢復時間較長
2、裸文件備份
拷貝數據庫的物理文件,數據庫既可以處於運行狀態(mysqlhotcopy 、ibbackup、xtrabackup這類工具),也可以處於停止狀態,恢復時間較短。

按照備份數據庫的內容來分,又可以分爲

1、完全備份:對數據庫完整的備份
2、差異備份:在上一次完全備份基礎上,對更新的數據進行備份(xtrabackup)
3、增量備份:在上次備份的基礎上,對更新的數據進行備份
4、日誌備份:二進制日誌備份,主從複製

安裝xtrbackup 工具

1,上傳壓縮包,解壓編譯安裝
tar -xf Percona-XtraBackup-2.4.14-ref675d4-el7-x86_64-bundle.tar
配置好yum倉庫
安裝依賴包rpm -ivh libev-4.03-3.el6.x86_64.rpm
yum install -y percona-xtrabackup-24-2.4.14-1.el7.x86_64.rpm

2.使用innobackupex創建完整備份

mkdir /mingliang #創建目錄
innobackupex --user=root /mingliang/ --socket=/usr/local/mysql/mysql.sock #創建完整備份
3,刪除數據,還原備份
/etc/init.d/mysqld stop #停止mysql
rm -rf /data/mysql/data/ #模擬故障,刪除
innobackupex --copy-back /mingliang/2020-02-06_23-47-43/ #還原
4,查看權限,修改權限,啓動mysql
在這裏插入圖片描述

5,創建增量備份

在上面完整備份基礎上做,先插入一些數據
innobackupex --user=root --incremental /asd --incremental-basedir=/mingliang/2020-02-06_23-58-09/ --socket=/usr/local/mysql/mysql.sock #創建增量備份
6,查看LSN日誌序列號
在這裏插入圖片描述
7.還原備份
systemctl stop mysqld ##停止mysql
rm -rf /data/mysql/data/ ##刪除配置文件
innobackupex --apply-log --redo-only /mingliang/2020-02-06_23-58-09/
innobackupex --apply-log /mingliang/2020-02-06_23-58-09 --incremental-dir=/asd/2020-02-07_00-51-33/ ##合併備份
innobackupex --copy-back /mingliang/2020-02-06_23-58-09/ ##恢復數據
8.恢復mysql權限,啓動mysql
在這裏插入圖片描述
9,查看測試

在這裏插入圖片描述
做到這裏就結束了,做到不是很好請諒解,如果有什麼問題請小夥伴們留言。

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