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