MySQL數據庫(四)——數據庫備份和恢復

數據庫備份和恢復

一、數據庫的備份

備份的類型以及瞭解

物理備份:1.冷備份(脫機備份):數據庫處於關閉狀態,直接打包數據庫文件

                  特點:備份速度快,回覆時簡單

                  2.熱備份(聯機備份):在數據庫運行的情況下,採用archivelog mode方式備份數據庫的方法

                  特點:如果你有昨天夜裏的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息

                  3.溫備份:溫備份一般是週期性開機,根據內容進行更新

邏輯備份:1.完全備份:從數據庫安裝到現在全部備份

                  2.差異備份:從上次備份到現在的這個部分備份

                  3.增量備份:上次備份上增加從上次到現在的備份

具體備份方法

物理打包備份

tar zcf /mysqlbak/mysql.$(date +%Y%m%d%S).tar.gz /usr/local/mysql/date/*

專用工具備份(以登錄數據庫的方式導出數據庫的內容)

備份所有庫:mysqldump -uroot -p123456 --all-databases > /mysqlbak/exercise.sql

備份指定庫:mysqldump -uroot -p123456 exercise > /mysqlbak/exercise.sql

備份表:mysqldump -uroot -p123456 exercise A > /mysqlbak/exercise.A.sql

增量備份

通過MySQL提供的二進制日誌

vim /etc/my.cnf

max_binlog_size  \\設置二進制日誌文件的最大值

log-bin=mysql-bin  \\啓用二進制日誌

二進制日誌啓用生成文件:/usr/local/mysql/data/master-bin.000001

log-bin=/usr/local/mysql/log/mysql-bin

flush logs;

第三方備份工具

phpMyAdmin

Navicat Premium

等等等等。。。。。。

二、恢復數據庫

1.直接解壓備份的解壓包到數據庫數據目錄

2.mysqldump導出數據恢復

方法一:

先創建數據庫,進入到該庫(名字與需要恢復的庫名字一樣)

mysql>source /mysqlbak/exercise.sql

方法二:

先創建數據庫,退出數據庫(名字與需要恢復的庫名字一樣)

mysql -uroot -p123456 exercise < /mysqlbak/exercise.sql

3.二進制日誌進行恢復

通過查看二進制文件如下圖來查看時間節點或位置

使用編譯安裝自帶的工具查看並恢復mysqlbinlog

查看二進制文件:mysqlbinlog mysql-bin.00001

基於時間節點的恢復(注意命令格式)

mysqlbinlog --stop-datetime='2020-03-06 15:28:26' /usr/local/mysql/data/master-bin.000001 | mysql -uroot -p123456

基於位置的恢復(注意命令格式)

mysqlbinlog --stop-position='1935' /usr/local/mysql/data/master-bin.000001 |mysql -uroot -p123456

 

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