mysql基于binlog日志恢復(fù)數(shù)據(jù)庫(kù)

備注:公司新來(lái)了一個(gè)妹子,操作失誤,執(zhí)行了 rm -rf / ,完蛋,整個(gè)服務(wù)器全部GG,通過(guò)ext3grep等軟件只能恢復(fù)到binlog日志。怎么辦?數(shù)據(jù)庫(kù)每天凌晨全量備份一次,前提是mysqldump執(zhí)行的備份文件是在別的服務(wù)器上,否則只能將所有的binlog日志回放一遍,今天來(lái)介紹下如何通過(guò)binlog日志恢復(fù)mysql。

一、我們將最新的mysqldump文件恢復(fù)到新的數(shù)據(jù)量實(shí)例上,至于命令,我前面的文章有詳細(xì)的解讀。

二、找到今日凌晨到數(shù)據(jù)庫(kù)刪除時(shí)的binlog日志,通常情況下binlog日志是按照對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)進(jìn)行的切割。

mysql binlog日志截圖

三、假如需要將某一個(gè)binlog完全恢復(fù),只需要執(zhí)行以下命令:

mysqlbinlog mysql-bin.000010 | mysql -uroot -p

四、binlog文件處于凌晨備份的時(shí)間節(jié)點(diǎn)(這種情況下,復(fù)雜一些。)

方法1、根據(jù)起始和終止時(shí)間進(jìn)行恢復(fù)

mysqlbinlog mysql-bin.000001 --start-datetime='2019-07-12 19:50:36' --stop-datetime='2019-07-13 19:23:40'  | mysql -uroot -p

方法2、根據(jù)起始節(jié)點(diǎn)和終止節(jié)點(diǎn)進(jìn)行恢復(fù)

#查看binlog日志的節(jié)點(diǎn)位置情況
show binlog events in 'mysql-bin.000001'  \G;

#根據(jù)binlog起始和結(jié)束節(jié)點(diǎn)做恢復(fù)
mysqlbinlog mysql-bin.000001 --start-position=100 --stop-position=200 | mysql -uroot -p
show binlog events in 'mysql-bin.000001' 執(zhí)行之后的效果

五、linux不是太熟悉的同學(xué)看這里(前面文章有介紹過(guò))

#將mysqlbinlog 轉(zhuǎn)為可讀、可執(zhí)行的sql文件
mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.000001 > text.log

六、后記

1、mysqldump備份mysql時(shí)切記需要全路徑,否則備份得到的文件是空的。
2、reset master 命令不要隨便執(zhí)行,它會(huì)將你的mysqlbinlog全部刪除。
3、mysql 5.6以上版本備份時(shí)會(huì)有個(gè)gtid,備份時(shí)最好關(guān)閉,否則恢復(fù)時(shí)會(huì)有個(gè)error,百度告訴你,你需要reset master,然后你的binlog全都丟失,切記切記。

#關(guān)閉gtid的mysqldump備份命令
/usr/bin/mysqldump --set-gtid-purged=off --opt -h$DB_HOST -u$DB_ROOT -p$DB_PASS $DB_PROJECT > /root/mysqlbak/project/${DB_PROJECT}_${data}.sql

4、記得實(shí)戰(zhàn)演練(不要隨便去升級(jí)mysql的版本,你會(huì)發(fā)現(xiàn)很多意想不到的事情等著你。)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 非跟團(tuán)。 我是加拿大的留學(xué)生,這篇我只想說(shuō)些我認(rèn)為必去的景點(diǎn)。 著名的尼亞加拉大瀑布,對(duì)岸是美國(guó),但是在加拿大這邊...
    秋水凌天閱讀 320評(píng)論 0 0
  • 正念提供一條簡(jiǎn)單有力的路徑,讓我們從問(wèn)題中解放,聯(lián)系上自己的智慧和生命力,重新掌握生命的方向和質(zhì)量,包括家庭中的人...
    秋山2008閱讀 2,525評(píng)論 0 2
  • 每日精選笑話(huà):堅(jiān)定地寫(xiě)上了答案 考試,同桌輕聲問(wèn)我:“第十題答案什么?” 我:“不知道,反正AB肯定錯(cuò)?!?同桌:...
    火鍋家族閱讀 594評(píng)論 2 9
  • 你說(shuō)天空中的空白格, 是我為你譜的歌, 你說(shuō),已碎的玻璃,絕不再?gòu)?fù)合。 你說(shuō),一切, 我也說(shuō),一切, 到最后都會(huì)好...
    Wu愛(ài)麗絲閱讀 153評(píng)論 0 1
  • 題記:其實(shí)不用擔(dān)心,你們中的很多人,一輩子都不會(huì)遇見(jiàn)你夢(mèng)想的真愛(ài)。只會(huì)因?yàn)楹ε鹿陋?dú)地死去,而選擇隨便找個(gè)人,互相飼...
    喬伊Joyin閱讀 328評(píng)論 0 1

友情鏈接更多精彩內(nèi)容