新聞中心
利用binlog回復誤刪表和庫
創(chuàng)新互聯(lián)專注于陜州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供陜州營銷型網(wǎng)站建設(shè),陜州網(wǎng)站制作、陜州網(wǎng)頁設(shè)計、陜州網(wǎng)站官網(wǎng)定制、小程序設(shè)計服務(wù),打造陜州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供陜州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
查看某個binlog日志內(nèi)容,常用有兩種方式:
1、 # /usr/local/MySQL/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000013
2、 mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
選項解析:
IN 'log_name' 指定要查詢的binlog文件名(不指定就是第一個binlog文件)
FROM pos 指定從哪個pos起始點開始查起(不指定就是從整個文件首個pos點開始算)
LIMIT [offset,] 偏移量(不指定就是0)
row_count 查詢總條數(shù)(不指定就是所有行)
D.指定查詢 mysql-bin.000021 這個文件,從pos點:8224開始查起,查詢10條
mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;
6.從binlog日志恢復數(shù)據(jù)
# /usr/local/mysql/bin/mysql -uroot -p123456 -v < /root/BAK.zyyshop.sql;
常用選項:
--start-position=953 起始pos點
--stop-position=1437 結(jié)束pos點
--start-datetime="2013-11-29 13:18:54" 起始時間點
--stop-datetime="2013-11-29 13:21:53" 結(jié)束時間點
--database=zyyshop 指定只恢復zyyshop數(shù)據(jù)庫(一臺主機上往往有多個數(shù)據(jù)庫,只限本地log日志)
小結(jié):實際是將讀出的binlog日志內(nèi)容,通過管道符傳遞給mysql命令。這些命令、文件盡量寫成絕對路徑;
B.指定pos結(jié)束點恢復(部分恢復):
@ --stop-position=953 pos結(jié)束點
注:此pos結(jié)束點介于“導入實驗數(shù)據(jù)”與更新“name='李四'”之間,這樣可以恢復到更改“name='李四'”之前的“導入測試數(shù)據(jù)”
# /usr/local/mysql/bin/mysqlbinlog --stop-position=953 --database=zyyshop /usr/local/mysql/data/mysql-bin.000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop
C.指定pso點區(qū)間恢復(部分恢復):
更新 name='李四' 這條數(shù)據(jù),日志區(qū)間是Pos[1038] --> End_log_pos[1164],按事務(wù)區(qū)間是:Pos[953] --> End_log_pos[1195];
c1.單獨恢復 name='李四' 這步操作,可這樣:
# /usr/local/mysql/bin/mysqlbinlog --start-position=1038 --stop-position=1164 --database=zyyshop /usr/local/mysql/data/mysql-bin.000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop
也可以按事務(wù)區(qū)間單獨恢復,如下:
# /usr/local/mysql/bin/mysqlbinlog --start-position=953 --stop-position=1195 --database=zyyshop /usr/local/mysql/data/mysql-bin.000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop
# /usr/local/mysql/bin/mysqlbinlog --start-datetime="2013-11-29 13:18:54" --stop-datetime="2013-11-29 13:21:53" --database=zyyshop /usr/local/mysql/data/mysql-bin.000021 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop
總結(jié):所謂恢復,就是讓mysql將保存在binlog日志中指定段落區(qū)間的sql語句逐個重新執(zhí)行一次而已。
新聞名稱:利用binlog回復誤刪表和庫
文章鏈接:http://ef60e0e.cn/article/ppgpso.html