新聞中心
mysql binlog怎么用
binlog,二進(jìn)制日志,記錄mysql所有操作命令。
成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元鎮(zhèn)寧做網(wǎng)站,已為上家服務(wù),為鎮(zhèn)寧各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
可以用來做數(shù)據(jù)恢復(fù),同時也是mysql主從備份所必需的日志。
用 mysqlbinlog 命令可以直接打開binlog查看。
如何利用mysql的bin
cd d:\program files\mysql\data
mysqlbinlog -d test --start-datetime="2004-12-25 11:25:56" --stop-datetime="2012-12-26 11:25:56" --base64-output=DECODE-ROWS mysql-bin.000001 mysql-bin.00000n e:\t.sql
1 說明:
這是輸出日志為可執(zhí)行的sql格式,然后通過mysql或其它工具執(zhí)行這個sql即可
-d test 是指定數(shù)據(jù)庫,如果要導(dǎo)出全部數(shù)據(jù)庫的執(zhí)行語句,去年該選項
--base64-output=DECODE-ROWS 是為了適應(yīng)mysql server設(shè)置binlog_format=row的情況的,一般使用該值即可;
mysql-bin.000001 mysql-bin.00000n 把你的bin文件名全部列出來,有幾個列幾個(linux下可以使用通配符 mysql-bin.[0-9]*)
--start-datetime 這是為了設(shè)定恢復(fù)的時間段的,如你只需精確地導(dǎo)出某天的執(zhí)行
mysql數(shù)據(jù)庫怎么開啟binlog
當(dāng)啟動Binlog后,事務(wù)會產(chǎn)生Binlog Event,這些Event被看做事務(wù)數(shù)據(jù)的一部分。因此要保證事務(wù)的Binlog Event和InnoDB引擎中的數(shù)據(jù)的一致性。所以帶Binlog的CrashSafe要求MySQL宕機(jī)重啟后能夠保證:
- 所有已經(jīng)提交的事務(wù)的數(shù)據(jù)仍然存在。
- 所有沒有提交的事務(wù)的數(shù)據(jù)自動回滾。
- 所有已經(jīng)提交了的事務(wù)的Binlog Event也仍然存在。
- 所有沒有提交事務(wù)沒有記錄Binlog Event。
這些要求很好理解,如果重啟后數(shù)據(jù)還在,但是Binlog Event沒有了,就沒辦法復(fù)制到其他節(jié)點上了。如果重啟后,數(shù)據(jù)沒了,但是Binlog Event還在,那么不存在的數(shù)據(jù)就會被復(fù)制到其他節(jié)點上,從而導(dǎo)致主從的不一致。
為了保證帶Binlog的CrashSafe,MySQL內(nèi)部使用的兩階段提交(Two Phase Commit)。
分享名稱:mysqlbin怎么用 mysqlbin
文章URL:http://www.ef60e0e.cn/article/dojosod.html