中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql增量備份及斷點恢復

發布時間:2020-07-28 22:55:24 來源:網絡 閱讀:1329 作者:藍月CC 欄目:MySQL數據庫

簡介
增量備份是指在一次全備份或上一次增量備份后,以后每次的備份只需備份與前一次相比增加或者被修改的文件。這就意味著,第一次增量備份的對象是進行全備后所產生的增加和修改的文件;第二次增量備份的對象是進行第一次增量備份后所產生的增加和修改的文件,如此類推。
目的
解決完全備份中時間長、恢復慢的問題,采取了增量備份
特點
優:無重復數據,備份量不大,時間短
缺:需要上次完全備份及完全備份后的增量備份才能恢復,需對增量備份逐個反復恢復,操作繁瑣
實現方式
通過mysql的二進制日志間接實現增量備份:
二進制日志保存了所有更新或可能更新的數據
二進制日志在mysql啟動時開始記錄,且會重新創建新的日志文件
需定時執行flush logs方法重新創建日志,生成二進制文件序列
實驗環境:
安裝了mysql5.7數據庫的一臺centos7虛擬機
操作過程:
一、增量備份
1、在配置文件中添加二進制日志

vim /etc/my.cnf
[mysqld] #在此模塊下添加
log-bin=mysql-bin #二進制日志

2、重啟服務,并查看二進制日志

systemctl restart mysqld.service
cd /usr/local/mysql/data/
mysqlbinlog --no-defaults mysql-bin.000001

mysql增量備份及斷點恢復
3、在數據庫自由創建數據庫、表,作為實驗模板
mysql增量備份及斷點恢復
4、對school數據庫進行完全備份

mysqldump -uroot -pabc123 school > /opt/school.sql

5、刷新日志,生成新的日志,注意:之前數據庫的操作寫入編號為000001的日志中,新生成的000002的日志為空

mysqladmin -uroot -pabc123 flush-logs #刷新日志
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000001 #查看000001日志
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #查看000002日志
#--base64-output=decode-rows -v:避免文件中亂碼,前面的查看命令也可以使用

mysql增量備份及斷點恢復
mysql增量備份及斷點恢復
6、新添加mysql數據庫操作,然后刷新日志,進行增量備份

use school;
mysql>indert into info (id,name,score) values (3,'aaa',78);
mysql>delete from info where name='tom'; #誤操作
mysql> insert into info (id,name,score) values (4,'bbb',64);
mysqladmin -uroot -pabc123 flush-logs #刷新日志,生成000003
#此次增量備份已記錄到000002日志文件中

mysql增量備份及斷點恢復
mysql增量備份及斷點恢復
7、刪除info表

mysql -uroot -pabc123 -e 'use school;drop table info;'

8、恢復完全備份,然后恢復增量備份

mysql -uroot -pabc123 school < /opt/school.sql #完全備份還原

mysql增量備份及斷點恢復

mysqlbinlog --no-defaults mysql-bin.000002 | mysql -uroot -p

mysql增量備份及斷點恢復
那么,此處暴露出一個問題,如果出現誤操作,還原備份時就會出現錯誤,并不能實現理想的備份,達到真正的目的。此時,就需要斷鏈恢復(屬于恢復增量備份的特殊用法),即在還原時只恢復正確的數據庫操作。

二、斷鏈恢復
在操作斷鏈恢復前,需要還原到未進行增量備份還原的狀態,如圖
mysql增量備份及斷點恢復
基于時間點

2018-09-04 16:43:52 錯誤操作時間 (開頭加載到此時間點結束)
2018-09-04 16:44:32 正確操作時間 (從此時間點再次開始加載) 從此時間點再次開始加載
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #查看000002日志

mysql增量備份及斷點恢復
mysqlbinlog --no-defaults --stop-datetime='2018-09-04 16:43:52' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p
mysqlbinlog --no-defaults --start-datetime='2018-09-04 16:44:32' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p
mysql增量備份及斷點恢復
基于位置點

at 565 上一次正確執行位置 --stop-position
at 667 下一次正確執行位置 --start-position
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #查看000002日志

mysql增量備份及斷點恢復

mysqlbinlog --no-defaults --stop-position='565' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p
mysqlbinlog --no-defaults --start-position='667' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p

mysql增量備份及斷點恢復

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

托里县| 彰化市| 长子县| 文昌市| 青川县| 象山县| 吴忠市| 广东省| 克东县| 马龙县| 永嘉县| 平安县| 二连浩特市| 新宁县| 宜兴市| 连平县| 个旧市| 镇宁| 任丘市| 安吉县| 中牟县| 子洲县| 绥德县| 桂平市| 昭平县| 湘乡市| 新乡市| 巴林右旗| 巴林左旗| 桃园市| 河源市| 宿迁市| 裕民县| 宁德市| 静乐县| 资中县| 安达市| 色达县| 正定县| 岳池县| 马边|