轉載 https://laijianfeng.org/2019/03/MySQL-Binlog-%E4%BB%8B%E7%BB%8D/
-
mysqlbinlog常見的選項有以下幾個:
–start-datetime:從二進制日誌中讀取指定等於時間戳或者晚於本地服務器的時間
–stop-datetime:從二進制日誌中讀取指定小於時間戳或者等於本地服務器的時間 取值和上述一樣
–start-position:從二進制日誌中讀取指定position 事件位置作爲開始。 -
開啓bin log
SET SQL_LOG_BIN=1 命令來啓用 binlog,通過 SET SQL_LOG_BIN=0 命令停用 binlog -
常用的Binlog操作命令
# 是否啓用binlog日誌 show variables like 'log_bin'; # 查看詳細的日誌配置信息 show global variables like '%log%'; # mysql數據存儲目錄 show variables like '%dir%'; # 查看binlog的目錄 show global variables like "%log_bin%"; # 查看當前服務器使用的biglog文件及大小 show binary logs; # 查看主服務器使用的biglog文件及大小 # 查看最新一個binlog日誌文件名稱和Position show master status; # 事件查詢命令 # IN 'log_name' :指定要查詢的binlog文件名(不指定就是第一個binlog文件) # FROM pos :指定從哪個pos起始點開始查起(不指定就是從整個文件首個pos點開始算) # LIMIT [offset,] :偏移量(不指定就是0) # row_count :查詢總條數(不指定就是所有行) show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]; # 查看 binlog 內容 show binlog events; # 查看具體一個binlog文件的內容 (in 後面爲binlog的文件名) show binlog events in 'master.000003'; # 設置binlog文件保存事件,過期刪除,單位天 set global expire_log_days=3; # 刪除當前的binlog文件 reset master; # 刪除slave的中繼日誌 reset slave; # 刪除指定日期前的日誌索引中binlog日誌文件 purge master logs before '2019-03-09 14:00:00'; # 刪除指定日誌文件 purge master logs to 'master.000003';
-
binlog日誌包括兩類文件:
二進制日誌索引文件(文件名後綴爲.index)用於記錄所有有效的的二進制文件
二進制日誌文件(文件名後綴爲.00000*)記錄數據庫所有的DDL和DML語句事件 -
mysqlbinlog 命令的使用
服務器以二進制格式將binlog日誌寫入binlog文件,如何要以文本格式顯示其內容,可以使用 mysqlbinlog 命令。# mysqlbinlog 的執行格式 mysqlbinlog [options] log_file ... # 查看bin-log二進制文件(shell方式) mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/master.000003 # 查看bin-log二進制文件(帶查詢條件) mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/master.000003 \ --start-datetime="2019-03-01 00:00:00" \ --stop-datetime="2019-03-10 00:00:00" \ --start-position="5000" \ --stop-position="20000"
-
恢復數據
https://www.cnblogs.com/kevingrace/p/5907254.html