溫馨提示×

溫馨提示×

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

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

用Mysqldump實現(xiàn)全庫備份+binlog的數(shù)據(jù)還原

發(fā)布時間:2020-07-19 21:42:25 來源:網(wǎng)絡 閱讀:3268 作者:奮斗的寒霜 欄目:數(shù)據(jù)庫

  隨著業(yè)務量的增長,數(shù)據(jù)庫也是成倍增長,原來一直使用的全庫備份不再適合現(xiàn)在的數(shù)據(jù)庫了,動輒就備份10G-20G,太占用磁盤空間,所以就考慮用更簡潔更快速更節(jié)省磁盤空間的備份方法,這就想到了使用binlog日志來進行備份和恢復,下面是具體實施的方法:


環(huán)境介紹:

操作系統(tǒng):Centos 7.2

數(shù)據(jù)庫:Mysql 5.6


一.安裝Mysql和改配置文件

安裝就不具體介紹了,網(wǎng)上教程很多,配置文件需要添加以下選項:

vim /etc/my.cnf

log_bin = mysql-binlog    #開啟binlog日志功能,默認在mysql的datadir目錄下面

show variables like 'log_bin';    #進入Mysql查看binlog日志是否開啟

用Mysqldump實現(xiàn)全庫備份+binlog的數(shù)據(jù)還原


二.創(chuàng)建實驗數(shù)據(jù)

由于剛建的數(shù)據(jù)庫,日志中沒有數(shù)據(jù),創(chuàng)建新的數(shù)據(jù)庫和表格來進行實驗

#創(chuàng)建t1庫

create database t1;

#創(chuàng)建tab1表

create table t1.tab1(id int primary key auto_increment,name varchar(20));

#插入兩條數(shù)據(jù)

insert into t1.tab1(name) values('zhangsan');

insert into t1.tab1(name) values('lisi');


三.進行全庫備份和日志備份

#進行全庫備份,并產(chǎn)生新日志

mysqldump -uroot -p123456 --flush-logs t1 > /opt/t1_`date +%Y%m%d`.sql

#備份日志文件,全庫備份前有幾個日志就備份幾個

cp /usr/local/mysql/binlog/mysql.bin.000001 /opt/


四.模擬刪除數(shù)據(jù)

delete from t1.tab1 where id=2;

#插入新數(shù)據(jù)

insert into t1.tab1(name) values('wangwu');


五.備份mysqldump之后的binlog日志文件

cp /usr/local/mysql/binlog/mysql.bin.000002 /opt/


六.用Mysqldump實現(xiàn)全庫備份+binlog的數(shù)據(jù)還原

  1. mysql -uroot -p123456 tab1 < /opt/t1_20170626.sql  #還原刪除前的全部數(shù)據(jù),這時候應該有兩條數(shù)據(jù),zhangsan和lisi

  2. mysqlbinlog -v /usr/local/mysql/binlog/mysql.bin.000002  #分析新開啟的binlog日志文件,里面誤操作的時間的起始位置和終止位置,只要跳過這一段時間即可

    用Mysqldump實現(xiàn)全庫備份+binlog的數(shù)據(jù)還原

  3. 從binlog恢復數(shù)據(jù)

    mysqlbinlog --stop-position=120 /opt/mysql.bin.000002|mysql -uroot -p123456

    mysqlbinlog --start-position=291 /opt/mysql.bin.000002|mysql -uroot -p123456

  4. 查看恢復情況

    select * from t1.tab1;    #此時表中有三條數(shù)數(shù)據(jù)為恢復成功


手動備份恢復過程已經(jīng)全部完成,下次說一說如何腳本化這個流程

向AI問一下細節(jié)

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

AI