MySQL工具 mysqlbinlog 日誌管理

2021-10-19 12:04:49 字數 2543 閱讀 4526

由於伺服器生成的二進位制日誌檔案以二進位制格式儲存,所以如果想檢查這些檔案的文字格式,就會用到 mysqlbinlog 日誌管理工具。更多的選項使用 mysqlbinlog --help 檢視。

-d,

--database=name 指定資料庫名稱,只列出指定的資料庫相關操作

-o,--offset=n 忽略日誌中的前n行命令

-r,--result-file=name 將輸出的文字格式日誌輸出到指定檔案

-s,--short-form 顯示簡單格式,省略掉一些資訊

--set

-charset=char-name 輸出為文字格式時,在檔案第一行加上 set names char-name,這個選項在某些情況下裝載資料時非常有用

--start

-datetime=name 指定日期間隔開始位置,開始輸出日誌

--stop-datetime=name 指定日期間隔停止位置,停止輸出日誌

--start

-position=n1 指定位置間隔開始位置,開始輸出日誌

--stop-position=n2 指定位置間隔停止位置,停止輸出日誌

顯示日誌全部內容

[root@ufo128 mysql]

# mysqlbinlog ib_logfile0

/*!40019 set @@session.max_insert_delayed_threads=0*/

;/*!50003 set @old_completion_type=@@completion_type,completion_type=0*/

;delimiter /*!*/

;error: file is not a binary log file.

delimiter ;

# end of log file

rollback /

* added by mysqlbinlog */;

/*!50003 set completion_type=@old_completion_type*/

;[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0

/*!40019 set @@session.max_insert_delayed_threads=0*/

;/*!50003 set @old_completion_type=@@completion_type,completion_type=0*/

;delimiter /*!*/

;error: file is not a binary log file.

delimiter ;

# end of log file

rollback /

* added by mysqlbinlog */;

/*!50003 set completion_type=@old_completion_type*/

;

加-d,顯示某個資料庫的操作日誌

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -d test

結合過濾,檢視對某張表的操作

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -d test | grep aaa | more

加-o,忽略掉前n個操作

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -o 3

加-r,將結果輸出到檔案

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -o 3 -r output.log

加-s,精簡顯示

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -d test -s

顯示時間間隔內的日誌

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -d test --start-datetime='2021/02/17 00:00:00' --stop-datetime='2021/02/18 00:00:00'

顯示位置間隔內的日誌

[root@ufo128 mysql]

# mysqlbinlog -vv ib_logfile0 -d test --start-position=4 --stop-position=196

mysql bin日誌 MySQL bin日誌解析

很多時候,當我們的業務資料產生了不正常的變化,但卻無法得知這類操作是在 進行,並且如何進行,單單從程式當面排查很費力。那麼就需要通過分析資料庫日誌來得到歷史執行sql,根據sql執行邏輯來確認 位置,進而確認是否是bug,亦或是誤操作等。一.binlog簡介 binlog 是mysql server...

mysql bin許可權問題導致mysql無法啟動

mysql bin許可權問題導致mysql無法啟動 啟動mysql報錯誤,錯誤提示找不到mysql bin.000002檔案,但檢查該檔案是存在的.root host1 mysql ls mysql bin.000002 mysql bin.000002 難道是許可權問題,再次檢查 root hos...

mysql通過mysql bin檔案恢復資料

mysql bin00 檔案 var lib mysql mysql bin00 是資料庫的操作日誌檔案,一定情況下可以利用操作日誌檔案來恢復資料,例如乙個表中之前插入了1條資料,之後給誤刪除了,這時可以在操作日誌檔案找到之前插入的資料,以此來恢復資料。my.cnf配置相關 1.開啟日誌儲存機制 l...