| binlog可以说是MySQL中比较 重要 的日志了,在日常开发及运维过程中,经常会遇到。binlog即binary log,二进制日志文件,也叫作变更日志(update log)。 |
| 它记录了数据库所有执行的DDL 和 DML 等数据库更新事件的语句,但是不包含没有修改任何数据的语句(如数据查询语句select、show等)。 |
| binlog主要应用场景: |
| 一是用于 数据恢复 |
| 二是用于 数据复制 |

| # 查看二进制日志 |
| show variables like '%log_bin%'; |

| |
| |
| log-bin=atguigu-bin |
| binlog_expire_logs_seconds=600 |
| max_binlog_size=100M |
| |
| |
| |
| |
| SET sql_log_bin=0; |
| |
| |
| |
| |
| SHOW BINARY LOGS; |
| |
| |
| |
| |
| mysqlbinlog -v "/var/lib/mysql/binlog/atguigu-bin.000002" |
| |
| mysqlbinlog --no-defaults --help |
| |
| mysqlbinlog --no-defaults --base64-output=decode-rows -vv atguigu-bin.000002 |tail -100 |
| |
| mysqlbinlog --no-defaults --base64-output=decode-rows -vv atguigu-bin.000002 |grep -A 20 '4939002' |
| show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]; |
| |
| IN 'log_name' :指定要查询的binlog文件名(不指定就是第一个binlog文件) |
| FROM pos :指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算) |
| LIMIT [offset] :偏移量(不指定就是0) |
| row_count :查询总条数(不指定就是所有行) |
| |
| # 查看二进制日志文件 |
| show binlog events in 'atguigu-bin.000002'; |
| |
| # 从指定event开始查看 |
| show binlog events in 'atguigu-bin.000002' from 468; |

| |
| show binlog events in 'atguigu-bin.000002' from 468 limit 0, 2; |

| show variables like 'binlog_format'; |
| |
| Statement: 每一条会修改数据的sql都会记录在binlog中。 |
| 优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。 |
| Row: 5.1.5版本的MySQL才开始支持row level 的复制,它不记录sql语句上下文相关信息,仅保存哪条记录被修改。 |
| 优点:row level 的日志内容会非常清楚的记录下每一行数据修改的细节。而且不会出现某些特定情况下的存储过程,或function,以及trigger的调用和触发无法被正确复制的问题。 |
| Mixed: 从5.1.8版本开始,MySQL提供了Mixed格式,实际上就是Statement与Row的结合。 |

| |
| |
| |
| |
| mysqlbinlog [option] filename|mysql –uuser -ppass; |
| |
| |
| |
| |
| |
| |

-
方式2:根据时间恢复

-
删除二进制日志
| |
| PURGE {MASTER | BINARY} LOGS TO ‘指定日志文件名’ |
| |
| |
| PURGE {MASTER | BINARY} LOGS BEFORE ‘指定日期’ |
| |
| |
| reset master; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示