(一)mysqlbinlog工具介紹html
binlog類型是二進制的,也就意味着咱們無法直接打開看,MySQL提供了mysqlbinlog來查看二進制日誌,該工具相似於Oracle的logminer。mysqlbinlog用法爲mysql
[root@masterdb binlog]# mysqlbinlog
Usage: mysqlbinlog [options] log-files
其中,經常使用的option選項以下:sql
option | 做用 |
-d , --database=name | 只列出指定數據庫的操做 |
-o , --offset = n | 忽略日誌前n行 |
-r , --result-file=name | 將輸出的文本格式日誌保存到文件 |
-v -vv |
-v :從binlog中重建sql語句 -vv:顯示的SQL語句增長了註釋,能夠理解爲-v的加強 |
--start-datetime=datetime --stop-datetime=datetime |
指定日期間隔內的全部日誌 |
--start-position=position --stop-position=position |
指定位置間隔內的全部日誌 |
(二)mysqlbinlog使用例子數據庫
(1)提取指定的binlog日誌
session
mysqlbinlog /home/mysql/data/ins3308/binlog.000018
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 |gzip >extra_01.sql.gz
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 | mysql -uroot -p
mysqlbinlog --start-datetime="2017-08-14 10:00:00" /home/mysql/data/ins3308/binlog.000018 --result-file=extra02.sql
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 /home/mysql/data/ins3308/binlog.000019|more
mysqlbinlog --database=test --set-charset=utf8 /home/mysql/data/ins3308/binlog.000018 /home/mysql/data/ins3308/binlog.000019 >test.sql
mysqlbinlog -uroot -p -h192.168.10.11 -P3308 --stop-datetime="2017-08-14 10:00:00" --read-from-remote-server binlog.000018 |more
(9)遠程提取使用row格式的binlog日誌並輸出到本地文件
工具
mysqlbinlog -uroot -p -P3308 -h192.168.10.11 --read-from-remote-server -vv binlog.000018 >row.sql
(三)mysqlbinlog提取日誌樣例this
例子1:使用--start-datetime和--stop-datetime顯示2020年2月12日23:30到2020年2月12日23:50的日誌spa
[root@masterdb binlog]# mysqlbinlog master-bin.000025 --start-datetime='2020-02-12 23:30:00' --stop-datetime='2020-02-12:23:50:00' /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 4 #200212 23:40:10 server id 1 end_log_pos 123 CRC32 0xfc4fd0fc Start: binlog v 4, server v 5.7.24-log created 200212 23:40:10 at startup # Warning: this binlog is either in use or was not closed properly. ROLLBACK/*!*/; BINLOG ' WhxEXg8BAAAAdwAAAHsAAAABAAQANS43LjI0LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABaHEReEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA AfzQT/w= '/*!*/; # at 123 #200212 23:40:10 server id 1 end_log_pos 154 CRC32 0x3dc8c184 Previous-GTIDs # [empty] # at 154 #200212 23:40:46 server id 1 end_log_pos 219 CRC32 0x12bba458 Anonymous_GTID last_committed=0 sequence_number=1 rbr_only=no SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/; # at 219 #200212 23:40:46 server id 1 end_log_pos 315 CRC32 0x5ed83729 Query thread_id=3 exec_time=0 error_code=0 use `db1`/*!*/; SET TIMESTAMP=1581522046/*!*/; SET @@session.pseudo_thread_id=3/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SET @@session.sql_mode=1436549152/*!*/; SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; /*!\C utf8 *//*!*/; SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/; SET @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; create table t1(id int ) /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/; DELIMITER ; # End of log file /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
相關文檔集合:3d 1.MySQL日誌--二進制日誌(binlog) |