Binlog是mysql的二进制日志, 它的主要目的是最大可能的恢复数据库,因为二进制日志包含备份后进行的所有更新。此外,mysql的主从复制特性也依赖于此实现。
Binlog的启动只增加 1% 的mysql负载, 所以不会成为瓶颈。
mysql在数据操作成功后将按照逐LOG_EVENT递增的形式追加一条binlog。
Binlog配置启用, vim my.cnf
log_bin = /var/log/mysql-bin.log ## 可选配置 binlog_format = MIXED #默认statement, 推荐mixed expire_logs_days = 7 max_binlog_size = 100m
Binlog三种模式:
1 基于语句 statement
记录数据变化的sql语句。一般日志量较小,但是语句执行的可靠性较低。
2 基于行 row
记录被修改的数据行。数据细节清晰可靠,但一般日志量较大。
3 混合模式mixed
以上两种模式的合并。
Binlog查看:
show binary logs #查看binlog列表 show binlog evnets 【in ‘log_name‘】 #查看指定binlog, 没有指定则默认第一个 show master status #查看当前在写的binlog
时间: 2024-10-17 23:06:42