• mysql查看binlog日志


           MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 
          其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。
          其二:自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。
          二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。

    一、开启binlog

         在[mysqld] 区块设置/添加 log-bin=mysql-bin 确认是打开状态(值 mysql-bin 是日志的基本名或前缀名);

    二、通过mysql的变量配置表,查看二进制日志是否已开启

        mysql> show variables like 'log_%'; 
        +----------------------------------------+---------------------------------------+
        | Variable_name                          | Value                                 |
        +----------------------------------------+---------------------------------------+
        | log_bin                                | ON                                    | ------> ON表示已经开启binlog日志
        | log_bin_basename                       | /usr/local/mysql/data/mysql-bin       |
        | log_bin_index                          | /usr/local/mysql/data/mysql-bin.index |
        | log_bin_trust_function_creators        | OFF                                   |
        | log_bin_use_v1_row_events              | OFF                                   |
        | log_error                              | /usr/local/mysql/data/martin.err      |
        | log_output                             | FILE                                  |
        | log_queries_not_using_indexes          | OFF                                   |
        | log_slave_updates                      | OFF                                   |
        | log_slow_admin_statements              | OFF                                   |
        | log_slow_slave_statements              | OFF                                   |
        | log_throttle_queries_not_using_indexes | 0                                     |
        | log_warnings                           | 1                                     |
        +----------------------------------------+---------------------------------------+

     三、binlog日志内容查看

         binlog日志有二种查看方式,具体如下:

        1、mysql查看binlog

    mysql> show binlog events;   #只查看第一个binlog文件的内容
    mysql> show binlog events in 'mysql-bin.000002';#查看指定binlog文件的内容
    mysql> show binary logs;  #获取binlog文件列表
    mysql> show master status; #查看当前正在写入的binlog文件
    

     2、使用mysqlbinlog工具

         mysqlbinlog是一个查看mysql二进制日志的工具,可以把mysql上面的所有操作记录从日志里导出,这个工具默认的安装路径为:/usr/local/mysql/bin/mysqlbinlog

         可以通过find / -name "mysqlbinlog"命令查找mysqlbinlog的工具路径。

          基于开始/结束时间:

    /usr/local/mysql/bin/mysqlbinlog --start-datetime="2013-03-01 00:00:00" --stop-datetime="2014-03-21 23:59:59" /usr/local/mysql/var/mysql-bin.000007 -r  test2.sql
    

     参见:http://www.yaoguangkeji.com/a_4brldYkw.html

                  http://www.boydwang.com/2014/03/use-mysqlbinlog-to-restore-accidentally-deleted-data/

                  http://blog.csdn.net/nuli888/article/details/52106910

                  https://www.cnblogs.com/martinzhang/p/3454358.html

  • 相关阅读:
    BZOJ 4716 假摔
    【UER #4】量子态的棋盘
    [Lydsy2017省队十连测]最长路径
    [Lydsy2017省队十连测]航海舰队
    [Lydsy2017省队十连测]公路建设
    [Lydsy2017省队十连测]商店购物
    湖南省队集训题【2018】(我也不知道是第几场)
    CXMS 胡策2
    [TJOI2018]异或
    TJOI 2018 数学计算
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/8476228.html
Copyright © 2020-2023  润新知