My SQL 日誌分析工具介紹

Oracle中提供了DBMS_LOGMNR來對日誌文件進行分析, 來解出Redo SQL和Undo SQL, MySQL中也提供了一個名爲mysqlbinlog的工具, 用來解釋或取出存放在binlog中的SQL語句, 最基本的使用語法如下:
mysqlbinlog [options] log_file ...
    在選項中, 可以指定一些過濾條件, 來解出你所想用的東西, 這樣的選項有:
--database=db_name, -d db_name
--offset=N, -o N
--[start|stop]-datetime=datetime
--[start|stop]-position=N
    解出來的就是一條一條SQL語句了, 將這些語句執行一下, 就等於增量恢復了, 估計不是用綁定變量的, 可能在MySQL中是不是綁定變量不是很重要了. 當然重要的一點是不要運行多個進程去跑, 因爲這樣的話, 順序就得不到保證了. 如下所示:
$ mysqlbinlog binlog.000001 >  /tmp/statements.sql
$ mysqlbinlog binlog.000002 >> /tmp/statements.sql
$ mysql -e "source /tmp/statements.sql"
    Oracle的LogMiner不太爽是因爲他不是離線的, 做成MySQL這樣的倒是比較方便多了. 看到這兒也應當可以想象到, MySQL中的複製大約是什麼回事了吧?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章