MySQL啟用二進(jìn)制日志實(shí)戰(zhàn)演示
此文章主要向大家描述的是MySQL啟用二進(jìn)制日志(binlog)的實(shí)際操作步驟以及對(duì)其在實(shí)際操作中的SQL 語(yǔ)句的介紹,下面就是文章的主要內(nèi)容描述,望在你瀏覽之后會(huì)對(duì)其相關(guān)的實(shí)際操作有更好的了解。
采用 binlog 的方法相對(duì)來(lái)說(shuō)更靈活,省心省力,而且還可以支持增量備份。
啟用 binlog 時(shí)必須要重啟 mysqld。首先,關(guān)閉 mysqld,打開(kāi) my.cnf,加入以下幾行:
- server-id = 1
 - log-bin = binlog
 - log-bin-index = binlog.index
 
然后啟動(dòng) mysqld 就可以了。運(yùn)行過(guò)程中會(huì)產(chǎn)生 binlog.000001 以及 binlog.index,前面的文件是 mysqld 記錄所有對(duì)數(shù)據(jù)的更新操作,后面的文件則是所有 binlog 的索引,都不能輕易刪除。關(guān)于 binlog 的信息請(qǐng)查看手冊(cè)。
需要備份時(shí),可以先執(zhí)行一下 SQL 語(yǔ)句,讓 mysqld 終止對(duì)當(dāng)前 binlog 的寫入,就可以把文件直接備份,這樣的話就能達(dá)到增量備份的目的了:
- FLUSH LOGS;
 
如果是備份復(fù)制系統(tǒng)中的從服務(wù)器,還應(yīng)該備份 master.info 和 relay-log.info 文件。
備份出來(lái)的 binlog 文件可以用 MySQL 提供的工具 mysqlbinlog 來(lái)查看,如:
- /usr/local/mysql/bin/mysqlbinlog /tmp/binlog.000001
 
該工具允許你顯示指定的數(shù)據(jù)庫(kù)下的所有 SQL 語(yǔ)句,并且還可以限定時(shí)間范圍,相當(dāng)?shù)姆奖?,詳?xì)的請(qǐng)查看手冊(cè)。
恢復(fù)時(shí),可以采用類似以下語(yǔ)句來(lái)做到:
- /usr/local/mysql/bin/mysqlbinlog /tmp/binlog.000001 | mysql -uyejr -pyejr db_name
 
把 mysqlbinlog 輸出的 SQL 語(yǔ)句直接作為輸入來(lái)執(zhí)行它。
如果你有空閑的機(jī)器,不妨采用這種方式來(lái)備份。由于作為 slave 的機(jī)器性能要求相對(duì)不是那么高,因此成本低,用低成本就能實(shí)現(xiàn)增量備份而且還能分擔(dān)一部分?jǐn)?shù)據(jù)查詢壓力,何樂(lè)而不為呢?
以上的相關(guān)內(nèi)容就是對(duì)MySQL啟用二進(jìn)制日志的介紹,望你能有所收獲。

原文標(biāo)題:?jiǎn)⒂枚M(jìn)制日志(binlog)
連接:http://www.cnblogs.com/kfarvid/archive/2009/11/12/1601587.html
【編輯推薦】















 
 
 












 
 
 
 