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