日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql日志恢复数据_Mysql 通过binlog日志恢复数据

發(fā)布時間:2025/3/19 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql日志恢复数据_Mysql 通过binlog日志恢复数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Binlog日志,即binary log,是二進(jìn)制日志文件,有兩個作用,一個是增量備份,另一個是主從復(fù)制,即主節(jié)點維護(hù)一個binlog日志文件,從節(jié)點從binlog中同步數(shù)據(jù),也可以通過binlog日志來恢復(fù)數(shù)據(jù)

1,登錄mysql查看binlog日志的狀態(tài),輸入show variables like ‘%log_bin%’;查看binlog為off關(guān)閉狀態(tài)

2,開啟mysql binlog日志,進(jìn)入mysql配置文件(vi /etc/my.cnf)? 在mysqld區(qū)域內(nèi)添加如下內(nèi)容,①server-id = 1(單個節(jié)點id) ②log-bin= /var/lib/mysql/mysql-bin(位置一般和mysql庫文件所在位置一樣) ③expire_logs_days = 10(表示此日志保存時間為10天),重啟mysqld,再次查看binlog日志開啟狀態(tài)為ON

3,Binlog日志包括兩類文件;第一個是二進(jìn)制索引文件(后綴名為.index),第二個為日志文件(后綴名為.00000*),記錄數(shù)據(jù)庫所有的DDL和DML(除了查詢語句select)語句事件

4,查看所有binlog日志文件列表:show master logs;

5,查看最后一個binlog日志的編號名稱及其最后一個操作事件pos結(jié)束點的值:show master status;

6,Flush logs? 刷新日志,此刻開始產(chǎn)生一個新編號的binlog文件,例如:

每當(dāng)mysqld服務(wù)重啟時,會自動執(zhí)行刷新binlog日志命令,mysqldump備份數(shù)據(jù)時加-F選項也會刷新binlog日志

7,清空所有binlog日志命令:reset master;

8,查看binlog文件內(nèi)容,使用查看工具mysqlbinlog來查看(cat/vi/more都是無法打開的)

9,上面的方法讀取內(nèi)容較多不易觀察,以下命令更為方便查看命令:show binlog events in ‘mysql-bin.000003’;

10,指定查詢,從pos點406開始查詢,如下:

11,指定查詢,從pos點154開始查詢,中間跳過2行,查詢4條數(shù)據(jù),如圖:

12,利用binlog日志恢復(fù)mysql數(shù)據(jù),例如,現(xiàn)有一張數(shù)據(jù)表如圖:此表位于hello數(shù)據(jù)庫

現(xiàn)在將此數(shù)據(jù)庫備份到本地(模擬每周的備份情況),備份命令如下

可以在數(shù)據(jù)備份之前或者之后執(zhí)行flush logs重新生成一個binlog日志用來記錄備份之后的所有增刪改操作(重新生成日志更好找pos點),由于業(yè)務(wù)需求,現(xiàn)在對表進(jìn)行插入

數(shù)據(jù),修改數(shù)據(jù),如圖新增了兩條數(shù)據(jù)id 為5和6,修改后數(shù)據(jù)如圖,

6的年齡修改成了30

13,由于操作失誤,誤刪除了數(shù)據(jù)庫,所有數(shù)據(jù)都不見了,此時可以通過binlog日志恢復(fù)數(shù)據(jù),由于之前有做了數(shù)據(jù)庫備份,所以可以先將備份的數(shù)據(jù)導(dǎo)入進(jìn)去,剩下缺少的就是備份之后操作所產(chǎn)生的內(nèi)容(備份之后執(zhí)行了插入內(nèi)容以及更改內(nèi)容),先恢復(fù)備份的數(shù)據(jù):創(chuàng)建庫hello并選擇庫(use hello),通過命令source /root/hello.sql將數(shù)據(jù)庫內(nèi)容導(dǎo)入,然后執(zhí)行

14,恢復(fù)的內(nèi)容如下所示:

15,上面恢復(fù)的數(shù)據(jù)只是截止到備份時間的數(shù)據(jù),剩下缺少的數(shù)據(jù)可以通過binlog日志來恢復(fù),由于我們備份數(shù)據(jù)庫之前重新創(chuàng)建了mysql-bin.000006日志,所以備份后的所有操作都保存在這個日志中,可以先備份下這個日志文件,cp mysql-bin.000006 /root/??? 接著執(zhí)行flush logs 刷新日志,重新創(chuàng)建了一個binlog日志7

16,重新創(chuàng)建一個日志7的目的:接下來所有操作的數(shù)據(jù)都會寫入到日志7中,日志6中不會在寫入任何數(shù)據(jù)(方便根據(jù)日志6的內(nèi)容恢復(fù)數(shù)據(jù),因為日志6的數(shù)據(jù)就是備份之后到刪庫之前的所有操作日志,重建日志7不會有過多的數(shù)據(jù)影響恢復(fù))

17,登錄mysql 查看日志6:? show binlog events in ‘mysql-bin.000006’;結(jié)果如下:

查看日志發(fā)現(xiàn),在備份數(shù)據(jù)后首先執(zhí)行的是插入數(shù)據(jù)操作(在一個事務(wù)內(nèi)),此時可以通過指定pos結(jié)束點恢復(fù)(部分恢復(fù)),如圖,pos結(jié)束點位435(事務(wù)已提交表示結(jié)束),執(zhí)行命令如下, /usr/bin/mysqlbinlog? --stop-position=435 --database=hello? /var/lib/mysql/mysql-bin.000006 | /usr/bin/mysql -uroot -p密碼 -v hello (其中整個命令的含義是通過mysqlbinlog讀取日志內(nèi)容并通過管道傳給mysql命令,-v表示執(zhí)行此mysql命令)執(zhí)行后查詢表發(fā)現(xiàn)如下:

備份之后插入的數(shù)據(jù)都出現(xiàn)了,目前還差一次修改的數(shù)據(jù)沒有找回來,接著看日志6如圖,

發(fā)現(xiàn)執(zhí)行更新操作的事務(wù)區(qū)間為573到718,所以可以執(zhí)行以下命令來恢復(fù)這段數(shù)據(jù),/usr/bin/mysqlbinlog? --start-position=573 --stop-position=718 --database=hello? /var/lib/mysql/mysql-bin.000006 | /usr/bin/mysql -uroot -p密碼 -v hello注意其中的符號都是英文狀態(tài)下(只恢復(fù)這段事務(wù)區(qū)間的數(shù)據(jù)也就是更新的數(shù)據(jù)),恢復(fù)結(jié)果如下:

更改的數(shù)據(jù)回來了,也可以最開始的時候直接通過最終的pos結(jié)束點718來恢復(fù)

18,還有一種通過時間來恢復(fù),還是先備份當(dāng)前數(shù)據(jù)庫(備份之前先flush logs創(chuàng)建一個新的binlog日志文件9),然后修改數(shù)據(jù)插入數(shù)據(jù)后如圖,

修改后將當(dāng)前數(shù)據(jù)庫刪除,(刪除庫之后再執(zhí)行一下flush logs創(chuàng)建一個新的日志文件,這樣新的操作都寫入到這個文件中,上個日志文件只用來恢復(fù)數(shù)據(jù),不會有其余數(shù)據(jù)混入)現(xiàn)在我們通過時間點來恢復(fù)從備份數(shù)據(jù)后到刪除數(shù)據(jù)庫這期間所有操作的數(shù)據(jù),首先通過mysqlbinlog來了查看日志文件9如圖所示,

19,執(zhí)行命令:/usr/bin/mysqlbinlog --start-datetime="2018-04-27 20:57:55" --stop-datetime="2018-04-27 20:58:18" --database=hello /var/lib/mysql/mysql-bin.000009 | /usr/bin/mysql -uroot -p8856769abcd -v hello? 更改的數(shù)據(jù)得到了恢復(fù)

20,插入數(shù)據(jù)的日志時間如圖:

執(zhí)行命令/usr/bin/mysqlbinlog --start-datetime="2018-04-27 20:58:18" --stop-datetime="2018-04-27 20:58:35" --database=hello /var/lib/mysql/mysql-bin.000009 | /usr/bin/mysql -uroot -p8856769abcd -v hello? 插入的數(shù)據(jù)得到了恢復(fù),如圖,

總結(jié)

以上是生活随笔為你收集整理的mysql日志恢复数据_Mysql 通过binlog日志恢复数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区三区四区中文字幕 | 91水蜜桃 | 粉嫩av懂色av蜜臀av分享 | 日本黄色免费 | 精品人妻人人做人人爽 | 最近日韩中文字幕 | 色网站在线观看 | 国产免费黄色片 | 精品免费视频一区二区 | 1024精品一区二区三区日韩 | 成人春色影视 | 天天干天天色天天射 | 竹菊影视一区二区三区 | 国产又爽又黄免费软件 | 福利在线网站 | 国产欧美中文字幕 | 欧美老女人性生活视频 | 黄色大片儿 | 手机版av| 午夜精产品一区二区在线观看的 | 91九色在线 | 国产黄av | 久久久久久久国产 | 美国色综合 | 91精品国产综合久久久蜜臀图片 | 91久久综合亚洲鲁鲁五月天 | 亚洲精品日产精品乱码不卡 | 一直草| 色五夜 | 艳妇臀荡乳欲伦交换h漫 | 毛片a级片 | 久久久久久综合 | 91久久久久久久久久 | 香蕉视频日本 | 中文在线观看免费 | 亚洲人成色777777精品音频 | 女人18毛片水真多18精品 | 中午字幕在线观看 | 国产在线国偷精品免费看 | 风流老熟女一区二区三区 | 日韩五码电影 | 影音先锋中文字幕资源 | 精品美女一区 | 日韩欧美偷拍 | 亚洲熟女www一区二区三区 | 欧洲激情网 | 后入内射欧美99二区视频 | 伊人成长网 | 九月丁香婷婷 | 污视频免费在线 | 欧美人与动物xxxx | 成人h动漫精品一区二区器材 | 91精品91 | 国产精品亚洲αv天堂无码 伊人性视频 | 亚洲av无一区二区三区久久 | 亚洲人视频 | 国产一级特黄a高潮片 | 国产视频在线观看一区 | 99riav3国产精品视频 | 岛国av免费在线观看 | 国产精品一区二区三区四区在线观看 | 国产精品久久久久一区二区 | 日韩成人精品视频 | 69免费视频 | 国产一区二区激情 | 40一50一60老女人毛片 | 丁香在线| 老司机深夜福利在线观看 | 中国新婚夫妻性猛交 | 校园激情av | 超碰精品| 国产夫妻自拍小视频 | 高潮毛片无遮挡免费看 | 久操这里只有精品 | 中文无码日韩欧 | 成年人免费在线观看视频网站 | 91国产网站| 性久久久久久 | 华人永久免费视频 | 在办公室被c到呻吟的动态图 | 美女人人操 | av一卡| 久一区二区三区 | 精品久久久久久久久中文字幕 | china国产乱xxxxx绿帽 | 毛片视屏| 国产精品果冻传媒潘 | 精品国产99久久久久久 | 国产精品无码自拍 | 精品国产麻豆 | 欧美精品一区二区在线播放 | 大黄网站在线观看 | 男女h网站 | 中文字幕成人在线视频 | 午夜影院私人 | 欧美一级大片在线观看 | 成人天堂网 | 国产精品免费无遮挡无码永久视频 | 色在线播放 |