binary log 简介
二进制日志包含描述数据库更改的“事件”,例如表创建操作或表数据更改。它还包含可能已更改的语句的事件(例如:DELETE不匹配任何行),除非使用基于行的日志记录。二进制日志还包含有关每条语句使用更新数据多长时间的信息。二进制日志有两个重要用途:
-
对于复制,复制源服务器上的二进制日志提供了要发送到副本的数据更改的记录。将源服务器二进制日志中包含的事件发送到其副本,副本执行这些事件以进行与源上相同的数据更改。
-
某些数据恢复操作需要使用二进制日志。恢复备份后,将重新执行备份后记录的二进制日志中的事件。这些事件使数据库从备份点开始更新。
环境准备
- Ubuntu 18.04.2 LTS
- mysql 5.7.28
更改配置
添加如下配置 开启binlog
[mysqld] ... server-id=123123 log-bin=/var/lib/mysql/mysql-bin # 日志文件位置及前缀 binlog-format=ROW # 日志格式 [MIXED|STATEMENT|ROW]
操作数据
# 创建数据库createdatabase test_dbcreatedatabase test2_db# 分别创建表并插入数据CREATETABLE`cms_help`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`category_id`bigint(20)DEFAULTNULL,`icon`varchar(500)DEFAULTNULL,`title`varchar(100)DEFAULTNULL,`show_status`int(1)DEFAULTNULL,`create_time`datetimeDEFAULTNULL,`read_count`int(1)DEFAULTNULL,`content`text,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8COMMENT='帮助表';# 插入数据INSERTINTO cms_help(category_id)VALUES(111),(222),(333),(444);# 执行查询SELECT*FROM cms_help;# 执行删除 匹配行DELETEFROM cms_helpWHERE id=2;# 执行删除 不匹配任何行DELETEFROM cms_helpWHERE id=2;# 执行更新UPDATE cms_helpSET show_status=1WHERE id=3;# 执行更新 不匹配行UPDATE cms_helpSET show_status=1WHERE id=2;# 执行alert tableALTERTABLE`cms_help` CHANGECOLUMN`title``title_t`varchar(100);# 执行dropdroptable cms_help;
查看binlog信息
show binary logs;
查看binlog
我们采用官方提供的mysqlbinlog
对文件进行查看
mysqlbinlog /var/lib/mysql/mysql-bin.000001 --base64-output=decode-rows -vv --skip-gtids=true | grep -E "UPDATE cms_help|SELECT * FROM|INSERT INTO cms_help|DELETE FROM cms_help|CREATE TABLE \`cms_help\`|alter"
--base64-output=decode-rows
: 声明二级制文件格式化格式 后面加上–verbose可将事件解码为带注释的伪SQL语句--verbose
: -v 重组行事件之外的伪SQL语句, -vv重组包括行事件和statement事件的伪sql语句--skip-gtids=true
: 不保留全局事务标识符,而是让服务器像执行新事务一样执行事务。
格式化查看结果如下:
由图中展示可知,binary log记录了对表的增删改以及数据行的增删改,且在删改行无匹配行时不进行记录,改表时无匹配行时有记录。
除此之外还有很多需要注意的点,比如--binlog-do-db=db_name
设置记录指定数据库时候的跨库记录问题,mysqlbinlog --database
指定数据库打印,是仅适用于没有基于行的事件的BINLOG等。
参考链接:https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html
热门文章
- 2月17日18.4M/S|Clash/Shadowrocket/V2ray/SSR免费节点每天更新订阅链接,翻墙机场推荐分享
- 2月23日20.7M/S|Clash/Shadowrocket/SSR/V2ray免费节点每天更新订阅链接,翻墙机场推荐分享
- 动物医院仪器设备清单表格(动物医院实验室常见设备仪器)
- 违约养宠物(养宠物违背了动物权利吗)
- 2月12日18.7M/S|Clash/V2ray/Shadowrocket/SSR免费节点每天更新订阅链接,翻墙机场推荐分享
- 宠物粮加工机器设备厂家有哪些 宠物粮加工机器设备厂家有哪些品牌
- 24小时宠物医院附近(24小时宠物医院附近上海)
- 开个宠物食品店需要什么证 开个宠物食品店需要什么证件
- 宠物领养中心在哪里(宠物领养中心官网)
- 宠物美容师大概多少钱一个月(宠物美容师月薪多少)