zoukankan      html  css  js  c++  java
  • 2.5.2 MySQL二进制日志介绍

    MySQL二进制日志介绍

    什么是 binary log

    这个文件记录了mysql数据库所有的DDL和DML(除了数据查询语句 select)语句事件。用来记录数据库中发生的修改情况。
    比如:数据的修改、表的创健建及修改等。

    它既可以记录涉及修改的SQL,也可以记录数据修改的行变化记录,同时也记录了执行时间。
    比如:
    执行sql:update itpux set name='a' where id between l and 5
    修改了5行记录

    binlog 日志有两个最重要的使用场景

    1) MySQL主从复制:
    MySQL Replication 在 Master 端开启 binlog, Master把它的二进制日志传递给 slaves来达到 master-slave 数据一致的目的。
    2)数据恢复
    通过使用 mysqlbinlog工具来使恢复数据;
    数据库宕机恢复使用;
    异常操作,紧急恢复数据使用;

    MySQL binlog的三种工作模式

    (1) Row level
    日志中会记录每一行数据被修改的情况,然后在slave端对相同的数据进行修改。
    (2) Statement level(默认)
    每一条被修改数据的sql都会记录到 master的bin-log中,slave在复制的时候sql进程会解析成和原来master端执行过的相同的sql再次执行
    (3) Mixed(混合模式)
    结合了 Row level和 Statement level的优点

    设置 MySQL binlog模式

    查看 MySQLbinlog模式
    mysql> show variables like "binlog%";
    binlog_format    ROW
    vi my.cnf
    binlog_format= 'ROW'
    or
    binlog_format='STATEMENT'
    or
    binlog_format='Mixed'











      



  • 相关阅读:
    Hibernate 基于外键的双向一对一关联映射
    Hibernate 基于外键的单项一对一关联映射
    Hibernate inverse
    Hibernate cascade
    Hibernate 双向一对多的关联映射
    Hibernate 单项一对多的关联映射
    (转)关闭iptables和SELinux
    linux下大于2T的硬盘格式化方法
    lsusb命令
    CentOS最小化安装后启用无线连接网络
  • 原文地址:https://www.cnblogs.com/wenyule/p/13710961.html
Copyright © 2011-2022 走看看