暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mysql开启二进制日志(binlog)

巴韭特锁螺丝 2022-08-06
128

‍1、概述

    binlog即二进制日志 Binary Log,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有一定的性能损耗。
二进制日志有两个最重要的使用场景:

  • Mysql主从复制模式下,Master(主机)把它的二进制日志传递给Slaves(从机)来达到master-slave数据一致的目的。

  • 数据恢复,如果出现数据误删通过使用mysqlbinlog工具进行数据恢复。

二进制日志包括两类文件:

二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,

二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。

开启binlog日志

2、查看是否开启 

show variables where variable_name in ('log_bin','log_bin_basename','log_bin_index');

    mysql> show variables like '%log_bin%';
    +---------------------------------+-------+
    | Variable_name | Value |
    +---------------------------------+-------+
    | log_bin | OFF |
    | log_bin_basename | |
    | log_bin_index | |
    | log_bin_trust_function_creators | OFF |
    | log_bin_use_v1_row_events | OFF |
    | sql_log_bin | ON |
    +---------------------------------+-------+

    3、开启此功能

        修改mysql配置文件,之前重启服务即可开启,开启后通过以下命令查询。

        

    show variables like '%log_bin%';

      [mysqld]
      #
      # Remove leading # and set to the amount of RAM for the most important data
      # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
      # innodb_buffer_pool_size = 128M
      #
      # Remove leading # to turn on a very important data integrity option: logging
      # changes to the binary log between backups.
      log_bin=mysql-bin
      server_id=43
      expire_logs_days=7
      binlog_format=ROW

        #开启并指定二进制日志前缀
        log_bin=mysql-bin
        #唯一id
        server_id=11234
        #二进制日志保存时间
        expire_logs_days=7
        binlog_format=ROW


        版权声明:本文内容来自简书:求心丶,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
        原文链接:https://www.jianshu.com/p/09f68090a0f8
        如有涉及到侵权,将立即予以删除处理。
        文章转载自巴韭特锁螺丝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论