mysql---整體備份和增量備份

來源:互聯網
上載者:User

mysql---整體備份和增量備份

整體備份:

對整張表或者整個資料庫甚至所有資料庫進行備份。


增量備份:

對某一範圍內的資料進行備份。


1、整體備份:

對錶進行備份:

針對儲存引擎為myisam的表,可以直接複製frm、myd、myi這三個檔案起到備份的效果。需要還原的時候,再複製回來就可以達到還原效果。

如果儲存引擎為innodb的表,就不這樣簡單了,因為所有表的資料和索引都存在一起(資料表空間)。一旦複製資料表空間,所有表的資料和索引就跟著一起複製過來。


如何進行備份?可以利用mysqldump工具

先建立一個表,並插入一些資料


備份前需要退出mysql,利用mysqldump -u使用者  -p  庫名 表名 > 輸出備份路徑

輸入密碼後匯出備份檔案


在E盤的備份目錄下出現了table1檔案


開啟table1檔案,可以看到檔案實際儲存的是建表語句和插入資料的SQL語句


現在我們刪除tab_one表,用table1來還原tab_one


再查看tab_one表,表已經被還原回來



如何備份多個表?

答:mysqldump -u使用者  -p  資料庫  表1  表2  …… 表N  > 備份檔案路徑


如何備份1個資料庫?

答:mysqldump -u使用者  -p -B  資料庫  > 備份檔案路徑


如何備份多個資料庫?

答:mysqldump  -u使用者 -p -B  庫1  庫2  …… 庫N  >備份檔案路徑


如何備份所有資料?

答:mysqldump  -u使用者 -p -A  >備份檔案路徑


2、增量備份

首先啟動二進位日誌功能,通過設定my.ini或者my.conf

在mysqld下面添加二進位備份路徑(注意路徑是左斜杠‘/’而不是‘\’,與windows不同)


重啟mysql服務

會看到在E盤的beifen目錄下多了2個檔案


開啟index檔案,內容是記錄檔的路徑。記錄檔可以有多個,命名規則是log-bin中設定的testBei後面加上6位元(從000001一直遞增)

記錄檔無法直接開啟,可以利用mysqlbinlog工具開啟

退出mysql用戶端在windows控制台上(確保設定過環境變數,不然要進入mysql的bin目錄)輸入

mysqlbinlog 記錄檔路徑

二進位檔案記錄了除select操作以外的絕大多數操作(具體我也不太清楚,基本的增刪改查是肯定要記錄的)


因為每次操作的時間和“位置”都會被記錄下來。所以要想還原資料有兩種途徑通過“時間”或“位置”。

通過時間還原:

--start-datetime="還原資料的起始時間"

--stop-datetime="還原資料的結束時間"

mysqlbinlog --start-datetime=“時間”  記錄檔路徑  | mysql -u使用者  -p              從規定的起始時間還原到現在

mysqlbinlog --stop-datetime=“時間”  記錄檔路徑  | mysql -u使用者  -p              從最開始還原到規定的結束時間

mysqlbinlog --start-datetime=“時間”  --stop-datetime=“時間” 記錄檔路徑  | mysql -u使用者  -p    從規定的起始時間還原到規定的結束時間

通過位置還原:

--start-position="還原資料的起始位置"

--stop-position="還原資料的結束位置"

mysqlbinlog --start-position=“位置”  記錄檔路徑  | mysql -u使用者  -p             從規定的起始位置還原到現在

mysqlbinlog --stop-position=“位置”  記錄檔路徑  | mysql -u使用者  -p             從最開始還原到規定的結束位置

mysqlbinlog --start-position=“位置”  --stop-position=“位置” 記錄檔路徑  | mysql -u使用者  -p    從規定的起始位置還原到規定的結束位置


現在刪除tab_two表


查看日誌可以發現刪除tab_two的sql


現在想恢複tab_two,就應該設定好時間範圍(建表時間--刪除時間)。


再看一下結果


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.