mysql查看binlog日志内容


mysql的binlog日志位置可通过show variables like '%datadir%';查看,直接打开无法查看,要看其内容2个办法:


1、登录到mysql查看binlog
只查看第一个binlog文件的内容
mysql> show binlog events;


查看指定binlog文件的内容
mysql> show binlog events in 'mysql-bin.000002';

    mysql> show binlog events in 'mysql-bin.000001';  
    +------------------+------+-------------+-----------+-------------+-----------------------------------------------------------+  
    | Log_name         | Pos  | Event_type  | Server_id | End_log_pos | Info                                                      |  
    +------------------+------+-------------+-----------+-------------+-----------------------------------------------------------+  
    | mysql-bin.000001 |    4 | Format_desc |       195 |         106 | Server ver: 5.1.73-log, Binlog ver: 4                     |  
    | mysql-bin.000001 |  106 | Query       |       195 |         198 | use `hadoop`; delete from user where id=3                 |  
    | mysql-bin.000001 |  198 | Intvar      |       195 |         226 | INSERT_ID=4                                               |  
    | mysql-bin.000001 |  226 | Query       |       195 |         332 | use `hadoop`; INSERT INTO user (id,name)VALUES (NULL,1)   |  
    | mysql-bin.000001 |  332 | Query       |       195 |         424 | use `hadoop`; delete from user where id=3                 |  
    | mysql-bin.000001 |  424 | Intvar      |       195 |         452 | INSERT_ID=5                                               |  
    | mysql-bin.000001 |  452 | Query       |       195 |         560 | use `hadoop`; INSERT INTO user (id,name)VALUES (NULL,222) |  
    | mysql-bin.000001 |  560 | Query       |       195 |         660 | use `hadoop`; DELETE FROM `user` WHERE (`id`='1')         |  
    | mysql-bin.000001 |  660 | Intvar      |       195 |         688 | INSERT_ID=6                                               |  
    | mysql-bin.000001 |  688 | Query       |       195 |         795 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('555')  |  
    | mysql-bin.000001 |  795 | Intvar      |       195 |         823 | INSERT_ID=7                                               |  
    | mysql-bin.000001 |  823 | Query       |       195 |         930 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('555')  |  
    | mysql-bin.000001 |  930 | Intvar      |       195 |         958 | INSERT_ID=8                                               |  
    | mysql-bin.000001 |  958 | Query       |       195 |        1065 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('555')  |  
    | mysql-bin.000001 | 1065 | Intvar      |       195 |        1093 | INSERT_ID=9                                               |  
    | mysql-bin.000001 | 1093 | Query       |       195 |        1200 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('555')  |  
    | mysql-bin.000001 | 1200 | Query       |       195 |        1300 | use `hadoop`; DELETE FROM `user` WHERE (`id`='9')         |  
    | mysql-bin.000001 | 1300 | Query       |       195 |        1400 | use `hadoop`; DELETE FROM `user` WHERE (`id`='8')         |  
    | mysql-bin.000001 | 1400 | Query       |       195 |        1500 | use `hadoop`; DELETE FROM `user` WHERE (`id`='7')         |  
    | mysql-bin.000001 | 1500 | Query       |       195 |        1600 | use `hadoop`; DELETE FROM `user` WHERE (`id`='4')         |  
    | mysql-bin.000001 | 1600 | Query       |       195 |        1700 | use `hadoop`; DELETE FROM `user` WHERE (`id`='5')         |  
    | mysql-bin.000001 | 1700 | Query       |       195 |        1800 | use `hadoop`; DELETE FROM `user` WHERE (`id`='6')         |  
    | mysql-bin.000001 | 1800 | Intvar      |       195 |        1828 | INSERT_ID=10                                              |  
    | mysql-bin.000001 | 1828 | Query       |       195 |        1935 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('555')  |  
    | mysql-bin.000001 | 1935 | Intvar      |       195 |        1963 | INSERT_ID=11                                              |  
    | mysql-bin.000001 | 1963 | Query       |       195 |        2070 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('666')  |  
    | mysql-bin.000001 | 2070 | Intvar      |       195 |        2098 | INSERT_ID=12                                              |  
    | mysql-bin.000001 | 2098 | Query       |       195 |        2205 | use `hadoop`; INSERT INTO `user` (`name`) VALUES ('777')  |  
    +------------------+------+-------------+-----------+-------------+-----------------------------------------------------------+  



查看当前正在写入的binlog文件
mysql> show master status\G

    mysql> show master status\G  
    *************************** 1. row ***************************  
                File: mysql-bin.000002  
            Position: 106  
        Binlog_Do_DB:  
    Binlog_Ignore_DB: mysql,information_schema,performance_schema  
    1 row in set (0.00 sec)  



获取binlog文件列表
mysql> show binary logs;

    mysql> show binary logs;  
    +------------------+-----------+  
    | Log_name         | File_size |  
    +------------------+-----------+  
    | mysql-bin.000001 |      3548 |  
    | mysql-bin.000002 |       106 |  
    +------------------+-----------+  
    2 rows in set (0.00 sec)  




2、用mysqlbinlog工具查看
基于开始/结束时间
[root@hd3 ~]# mysqlbinlog --start-datetime='2016-08-02 00:00:00' --stop-datetime='2016-08-03 23:01:01' -d hadoop /var/lib/mysql/mysql-bin.000001


基于pos值,注:hadoop是库名,/var/lib/mysql/mysql-bin.000001是二进制文件路径
[root@hd3 ~]# mysqlbinlog --start-position=2098 --stop-position=2205 -d hadoop /var/lib/mysql/mysql-bin.000001


    /*!40019 SET @@session.max_insert_delayed_threads=0*/;  
    /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;  
    DELIMITER /*!*/;  
    # at 4  
    #160803 17:49:51 server id 195  end_log_pos 106         Start: binlog v 4, server v 5.1.73-log created 160803 17:49:51 at startup  
    # Warning: this binlog is either in use or was not closed properly.  
    ROLLBACK/*!*/;  
    BINLOG '  
    P76hVw/DAAAAZgAAAGoAAAABAAQANS4xLjczLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  
    AAAAAAAAAAAAAAAAAAA/vqFXEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC  
    '/*!*/;  
    # at 2098  
    #160803 18:53:56 server id 195  end_log_pos 2205        Query   thread_id=1481  exec_time=115   error_code=0  
    use `hadoop`/*!*/;  
    SET TIMESTAMP=1470221636/*!*/;  
    SET @@session.pseudo_thread_id=1481/*!*/;  
    SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;  
    SET @@session.sql_mode=0/*!*/;  
    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=8/*!*/;  
    SET @@session.lc_time_names=0/*!*/;  
    SET @@session.collation_database=DEFAULT/*!*/;  
    INSERT INTO `user` (`name`) VALUES ('777')  
    /*!*/;  
    DELIMITER ;  
    # End of log file  
    ROLLBACK /* added by mysqlbinlog */;  
    /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;