zoukankan      html  css  js  c++  java
  • (4.5)mysql备份还原——深入解析二进制日志(1)binlog的3种工作模式与配置

    (4.5)mysql备份还原——深入解析二进制日志(binlog)

    关键词:二进制日志,binlog日志

    0、建议

      (1)不建议随便去修改binlog格式(数据库级别)

      (2)binlog日志的清理

        【2.1】过期日志天数:show variables like 'expire_logs_days';

        【2.2】手工切换成新的日志文件:flush log;

      (3)手工直接清除:purge binary log to 'bin-log.00003'     详细参考:https://www.cnblogs.com/gered/p/10471673.html

      (4)全清reset master;

    1、binlog二进制日志简介

      这个文件记录了mysql数据库所有的dml,ddl语句事件(不包含select)。记录增删改,也可以记录SQL语句及行记录变化,还可以记录这些操作事件;

      三种日志的区别:

      (1)general log:记录数据库里的所有SQL操作记录

      (2)redo log:只记录innodb存储引擎的修改日志

      (3)binlog:只记录server层面内部的修改情况。--select /show 不记录

    2、开启binlog二进制日志有什么好处?

      (1)mysql主从复制,通过binlog实现数据复制

      (2)数据恢复:可以基于时间点恢复,以及根据其进行增量与差异备份

    3、mysql binlog的三种工作模式

     binlog_format

    【3.1】row level(默认级别:mysql5.7.6之后+8.0)

      日志中记录每一行数据修改的情况;

      (1)有点:可以更方便查看每一条数据修改的细节  (2)缺点:数据量比较大

      使用场景:希望数据最安全,复制强一致。

    【3.2】statement level(默认级别:Mysql5.7.6之前)

      记录每一条修改的SQL

      (1)优点:解决了数据量比较大的问题  (2)缺点:容易出现主从复制不一致

      使用场景:使用mysql的功能比较少,又不使用存储过程/触发器/函数

    【3.3】mixed(混合模式)

      结合 row level 与statement level的优点

      一般情况下都使用statement,但是如果隔离级别设置为RC,那么一般会使用row

      不建议使用,还不如使用row level

    4、配置mysql binlog二进制日志

    4.1】查看
    show variables like '%log_bin%';
    show variables like '%binlog%';
    show variables like '%server%';
    
    【4.2】参数配置
    [mysqld]
    server_id=3306  #服务ID,主从必须不一致。(建议数字:ip+端口)  5.7.3以后版本,必须加
    #目录必须存在且授权好,binlog为索引文件,实际文件会自动根据索引文件建立如binlog.0000001
    log_bin=/mysql/log/3306/binlog    
    log_bin_index=/mysql/log/3306/binlog.index     #不设置的话,会根据log_bin值名称自动生成binlog.index
    binlog_format='row' #(row,statement,mixed)     #3种模式
    binlog_rows_query_log_events=on #打开才能查看详细记录
    expire_logs_days=10 #表示自动删除10天以前的日志
    max_binlog_size=100M #表示单个二进制文件的最大值为100M,如果有大事务可能会超出最大值
    binlog_row_image=full #(full,minimal,noblob),分别表示binlog中内容全记录,只记录被操作的,和不记录二进制

    经典概念参考:http://www.zsythink.net/archives/1286#comments

  • 相关阅读:
    scanf使用尿性
    System : Assembly Programming
    Biology 03: Cardiovascular
    remove the smallest element from a linkedlist
    Relativity 04: CH4CH5
    Relativity 03: Space and Time in Classical Mechanics
    146 __str__和__repr__
    145 __init__和__new__
    144 __call__
    143 __doc__
  • 原文地址:https://www.cnblogs.com/gered/p/10687319.html
Copyright © 2011-2022 走看看