數據庫備份及恢復操作
阿新 • • 發佈:2018-07-02
物理文件 -- 數據 備份操作 屬性文件 數據文件 mysqldump 關閉 備份文件 備份文件數據類型
1、數據文件 info.ibd //info為表名
2、表結構文件 info.frm
3、表屬性文件 db.opt
備份類型
- 物理備份:對數據庫操作系統的物理文件(如數據文件、日誌文件等)的備份。 --脫機備份(冷備份):在關閉數據庫時進行的備份操作,能較好的保證數據庫的完整性。 --聯機備份(熱備份):在數據庫運行狀態時進行操作,這種備份依賴於數據庫的日誌文件。 - 邏輯備份:針對數據庫的邏輯組件(如數據庫對象的備份) ①完全備份:每次對數據庫進行完整備份,可備份整個數據庫,但需花費較多空間與時間。 ②差異備份:備份自從上次完全備份之後被修改過的文件,只備份數據庫的部分內容,但是有些東西會被重復備份。 ③增量備份:只有那些上次完全備份或者增量備份後被修改的文件才會去被備份。
使用tar包打包備份:
對數據庫文件夾進行打包操作:
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
利用tar包還原數據庫文件:
tar Jxvf /opt/mysql-2018-7-2.tar.zx /usr/local/mysql/data/
使用mysqldump工具備份:
mysqldump -u root -p school > /opt/shcool.sql //針對school數據庫備份 mysqldump -u root -p --databases 庫名1 庫名2 > /opt/1-2.sql //多數據庫備份,--databases後面只能跟數據庫 mysqldump -u root -p --opt --all-databases > /opt/all.sql //備份全部數據庫 mysqldump -u root -p school info > /opt/school-info.sql //備份數據庫後面的表 mysqldump -u root -p -d school info > /opt/desc-info.sql //僅備份表的結構
恢復數據庫
不論是哪一種模式,必須要先建立同名數據庫,然後才可恢復,不論備份還是恢復,都可結合crontab周期性計劃任務執行
source在mysql模式下執行:
mysql>
use school;
show tables;
drop table info; //刪除info表
show tables;
source /opt/school-info.sql //執行備份庫下的表文件
mysql在Linux命令下執行:
mysql -u root -p school < /opt/school-info.sql //執行備份庫下的表文件
數據庫備份及恢復操作