MySQL日志文件之二进制日志Binlog详解

Binlog(二进制日志)

数据库管理中不可或缺的重要工具,记录了数据库中的所有变更操作,为数据恢复、主从复制和审计等关键功能提供了基础

  • 是MySQL 服务器层维护的一种二进制格式的日志文件,记录了所有DDL(数据定义语句)和DML(数据操作语句),但不包括 select 和 show 等

作用:

  • 数据恢复:某些场景下的数据恢复工作需要借助 Bin log 完成
  • 主从复制:在 master 端开启 Binlog ,Slave 端通过读取 Master 端的Binlog 实现数据同步
  • 审计: 用户可以通过 Binlog 中的信息来进行审计,判断是否有对数据库进行注入攻击

Binlog 在数据恢复中的应用

1.确定恢复点
2.提取相关事件
3.应用Binlog
4.验证恢复结果


开启Binlog

- 在 MySQL 配置文件中添加 log-bin
- log-bin 是日志文件的路径

关闭Binlog

 - 注释掉 log-bin ,或删除 log-bin 这一行
 - 然后添加一行 skip_log_bin

查看Binlog状态

 - 使用 show master status; 和 show binary logs; 命令查看Binlog状态和Binlog文件列表

查看是否开启 bin_log

  • log-bin 的值为ON即为开启状态,OFF即为关闭状态
 show golbal variables like 'log_bin';

查看Binlog 日志

 show binary logs;

常用配置

#启用二进制日志
#log_bin 指定了二进制日志文件的前缀名称。日志文件将以这个前缀开始,后跟一个数字后缀
[mysqld]
log_bin = mysql-bin

#设置日志格式
#ROW每行变化都记录在日志中。
#statement 记录执行的SQL语句
#MIXED 结合ROW和STATEMENT,根据情况选择最合适的模式
[mysqld]
binlog_format = ROW | STATEMENT | MIXED

#指定日志文件大小,max_binlog_size指定了单个binlog 文件的最大尺寸。当达到这个大小时,MySQL将创建一个新的日志文件
[mysqld]
max_binlog_size = 100M

#二进制日志缓存大小,binlog_cache_size指定了事务日志的大小,用于ROW 格式的binlog
[mysqld]
binlog_cache_size = 32K

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值