欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Mysqlbinlog日志是什么?如何使用binlog恢復(fù)數(shù)據(jù)庫?

公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開發(fā)、成都商城網(wǎng)站開發(fā),小程序開發(fā),軟件定制制作等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

下文主要給大家?guī)鞰ySQL binlog日志是什么?如何使用binlog恢復(fù)數(shù)據(jù)庫?,希望Mysql binlog日志是什么?如何使用binlog恢復(fù)數(shù)據(jù)庫?能夠帶給大家實(shí)際用處,這也是我編輯這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

初識(shí)MySQL  日志binlog
MySQL重要log,二進(jìn)制日志文件,記錄所有DDL和DML語句(除select),事件形式記錄,包含語句所執(zhí)行的消耗時(shí)間,事務(wù)安全型。
DDL(數(shù)據(jù)庫定義語言),主要命令有create、alter、drop等。DDL主要定義或改變表table的結(jié)構(gòu)、數(shù)據(jù)類型。建表時(shí)使用。
MDL(數(shù)據(jù)操縱語言),主要命令有select、update、insert、delete。

Mysql binlog日志是什么?如何使用binlog恢復(fù)數(shù)據(jù)庫?

mysqlbinlog常見選項(xiàng):
--start-datetime:從二進(jìn)制中讀取指定時(shí)間戳。
--stop-datetime:從二進(jìn)制中讀取指定時(shí)間戳。
--start-position:從二進(jìn)制中讀取指定position事件位置。
--stop-position:從二進(jìn)制中讀取指定position事件位置。

binlog日志使用場景:
1)MySQL主從復(fù)制:MySQL在replication在Master端開啟binlog,master將二進(jìn)制文件傳遞給slaves來達(dá)到master-slave數(shù)據(jù)一致。
2)數(shù)據(jù)恢復(fù):通過mysqlbinlog工具恢復(fù)數(shù)據(jù)
binlog日志包括兩類文件:
1)二進(jìn)制日志索引文件(文件后綴名.index)用于記錄所有二進(jìn)制文件
2)二進(jìn)制日志文件(文件后綴名.00000)記錄數(shù)據(jù)庫所有DDL和DML(select除)語句事件

開啟binlog日志和基本操作

開啟binlog:
/etc/my.cnf文件
log-bin=mysql-bin

mysql命令操作:

查看日志開啟
mysql>show variables like 'log_%';

查看所有binlog列表
mysql>show master logs;

查看master狀態(tài),最后一個(gè)binlog日志的編號(hào)名稱,及最后一個(gè)操作事件pos結(jié)束點(diǎn)(position)值。
mysql>show master status;

刷新log日志,開始產(chǎn)生一新的編號(hào)的binlog日志文件
mysql>flush logs;
注:mysqld服務(wù)重啟時(shí),也會(huì)執(zhí)行此命令,刷新binlog日志。

重置(清空)所有binlog
mysql>reset master;

MySQL binlog日志內(nèi)容查看
binlog日志為二進(jìn)制文件,cat、vim等工具無法打開,使用自帶的mysqlbinlog命令查看

binlog內(nèi)容分析:

# at 28226679
#181116 0:20:01 server id 776499703 end_log_pos 28226710 CRC32 0xb12373d2 Xid = 54012151
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
# at 28226710
#181116 0:20:35 server id 3095565156 end_log_pos 28226757 CRC32 0x05f2d78a Rotate to mysql-bin.001121 pos: 4
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

server id :數(shù)據(jù)庫主機(jī)服務(wù)號(hào)
end_log_pos:數(shù)據(jù)庫SQL結(jié)束時(shí)pos節(jié)點(diǎn)

binlog日志查看命令:
mysql> show binlog events in ‘mysql-bin.001120’\G;

binlog 從pos點(diǎn)100開始查,查詢10條
mysql> show binlog events in ‘mysql-bin.001120’ from 100 limit 10\G;

利用binlog日志恢復(fù)數(shù)據(jù)庫
1)恢復(fù)就近的完整備份庫
mysql -uusername -p -v db_test -h 192.168.1.100 < ./db_test .sql

2)通過binlog找到要恢復(fù)的--start-position點(diǎn) 和  --stop-position
binlog:mysql-bin.001118 、mysql-bin.001119 、mysql-bin.001120

mysqlbinlog -v --base64-output=DECODE-ROWS  /data/binlog/mysql-bin.001118 | head -10
mysqlbinlog -v --base64-output=DECODE-ROWS /data/binlog/mysql-bin.001120 | grep -C 30 -i "22:05:01"

3)binlog恢復(fù)
/bin/mysqlbinlog --start-position=120 --stop-position=2174941 /data/binlog/mysql-bin.001118 /data/binlog/mysql-bin.001119 /data/binlog/mysql-bin.001120 |/bin/mysql -uusername -p -v db_test -h 192.168.1.100
--start-position是備份后記錄下的pos點(diǎn), --stop-position是誤操前的pos點(diǎn),如果批多個(gè)binlog文件,那么start-position是第一個(gè)binlog文件的pos點(diǎn),stop-position是最后一個(gè)binlog文件的pos點(diǎn)

總結(jié):所謂恢復(fù),就是用mysql保存的binlog日志中指定的區(qū)間段的sql語句進(jìn)行重新執(zhí)行一次。

對于以上關(guān)于Mysql binlog日志是什么?如何使用binlog恢復(fù)數(shù)據(jù)庫?,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會(huì)喜歡上這些內(nèi)容的。

當(dāng)前標(biāo)題:Mysqlbinlog日志是什么?如何使用binlog恢復(fù)數(shù)據(jù)庫?
文章地址:http://chinadenli.net/article32/ppgjpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、建站公司網(wǎng)站導(dǎo)航、微信公眾號(hào)網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)