mysql binlog笔记

show variables like 'log_bin'; --查看binlog开关
show variables like 'binlog_format' --查看binlog日志的格式

mysql5.5开启binlog: 找到my.ini配置文件,用notepad++打开后添加:log-bin=mysql-bin,重启后开启成功

格式类型 格式特性
ROW 仅保存记录被修改细节,不记录sql语句上下文相关信息
STATEMENT 每一条会修改数据的sql都会记录在binlog中
MIXED 以上两种level的混合使用

管理Binlog相关的SQL语句
sql语句 语句含义
show master logs 查看所有binlog的日志列表
show master status 查看最后一个binlog日志的编号名称,以及最后一个事件结算的位置(pos)
flush logs 刷新binlog,此刻开始产生一个新编号的binlog日志文件
reset master 清空所有的binlog日志

查看binlog相关色SQL语句
show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
SQL语句 语句含义
show binlog events; 查看第一个binlog日志
show binlog events in 'binlog.000030'; 查看指定的binlog日志
show binlog events in 'binlog.000030' from 931; 从指定的位置开始,查看指定的binlog日志
show binlog events in 'binlog.000030' from 931 limit 2; 从指定的位置开始,查看指定的binlog日志,限制查询的条数
show binlog events in 'binlog.000030' from 931 limit 2; 从指定的位置开始,带有偏移,查看指定的binlog日志,限制查询的条数

binlog中的Event_type
1.QUERY_EVENT: 与数据无关的操作,begin(开启一个事务)、drop table(删除表)、truncate table(删除表数据内容)等
2.TABLE_MAP_EVENT 记录下一个操作所对应的表信息,存储了数据库名和表名
3.XID_EVENT 标记事务的提交
4.WRITE_ROWS_EVENT 插入数据,即insert操作
5.UPDATE_ROWS_EVENT 更新数据,即update操作
6.DELETE_ROWS_EVENT 删除数据,即delete操作

注意:版本不同,event type 会不一致,上面是基于8.0版本的值,如果使用的是不同的版本,可以去mysql官网上看对应版本binlog的介绍

 

posted @ 2021-01-16 17:32  海冠军  阅读(32)  评论(0编辑  收藏  举报