深入解读mysql二进制日志

author author     2022-12-05     470

关键词:


作者:IT邦德
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\\java\\Python)工作,主要服务于生产制造
现拥有 Oracle 11g OCP/OCM、
Mysql、Oceanbase(OBCA)认证
分布式TBase\\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验

擅长Oracle数据库运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。

深入解读Mysql

一、概述

Binlog 是 MySQL 中一个很重要的日志,记录了对数据库进行变更的操作,
但是不包括 select操作以及 show 操作,
因为这类操作对数据库本身没有没有修改。
如果想记录 select和 show 的话,那就需要开启全查询日志。
另外 binlog 还包括了执行数据库更改操作时间和执行时间等信息。
binlog 是 MySQL Server 层记录的二进制日志文件

mysql> show variables like ‘%log_bin%’;

深入解读Mysql


mysql> flush logs; --滚动日志

mysql> show binary logs;

深入解读Mysql

二、作用

(1 )恢复 recovery 。某些数据的恢复需要二进制日志,在全库文件恢复后,
可以在此基础上通过二进制日志进行 point-to-time 的恢复(mysqldump 全量恢复+binlog增量恢复)。
(2 )复制(replication )。其原理和恢复类似,
通过复制和执行二进制日志使得一台远程的 mysql数据库(slave)于一台 mysql 数据库(master)
进行实时同步。

三、参数配置

注:在 MySQL 5.7.3 及其以后的版本中,
若想开启二进制日志,则必须加上 server_id 参数,如下
[mysqld]
log-bin
server_id=57303317
在 MySQL 8.0

四、重要命令

(1) 查看生成的二进制日志列表:
mysql> show binary logs;
mysql> show master logs;
mysql> show master status; --当前日志
(2) 查看二进制日志记录的事件(event):
mysql> show binlog events; --内容较多,一般不用
mysql> show binlog events in rhel6-bin.000003;
mysql> show binlog events in rhel6-bin.000003 limit 3,5;
(3) 查看二进制日志的具体内容:
root@slave1:/# which mysqlbinlog
root@slave1:~# cd /var/lib/mysql
root@slave1:/var/lib/mysql# mysqlbinlog slave1-bin.000008

深入解读Mysql

(4)清理二进制日志

使用“flush logs;”命令、重启 MySQL、默认日志文件达到 1G 都会重新生成一个新的二进制日志文件。
mysql> PURGE BINARY LOGS TO binlog.000025; #binlog.000025 之前的日志都会被删除
mysql> PURGE BINARY LOGS BEFORE 2020-04-28 23:59:59;
#时间2020-04-28 23:59:59之前的日志都会被删除
mysql> RESET MASTER; #清空历史二进制日志,从 000001 开始重新

深入解读Mysql


本文如有错误或不完善的地方请大家多多指正,留言或 QQ 皆可,

您的批评指正是我写作的最大动力!

(4.6)mysql备份还原——深入解析二进制日志binlog二进制格式详解(代码片段)

...如果是用行的话,记录全部的记录、最小的记录、不记录二进制  (3)binlog_rows_query_log_events=on--(on,off)    如果打开以后会记录整个语句详细的操作,如果不打开,只会记录这个操作事件(比如是更新还是插入,但无具体... 查看详情

(3.14)mysql基础深入——mysql日志分析工具之pt-querty-digest待完善

...ldumpslow:官方提供的慢查询日志分析工具【2】mysqlbinlog:二进制日志分析工具【3】myprofi:对于只想看sql语句及执行次数的用户来说,比较推荐。【4】mysql-explain-slow-log:德国人写的一个Perl脚本,功能上有点瑕疵。不建议使用。... 查看详情

如何解读MySQL产生的慢查询日志信息?

】如何解读MySQL产生的慢查询日志信息?【英文标题】:HowtointerpretslowqueryloginformationgeneratedbyMySQL?【发布时间】:2013-10-0221:21:45【问题描述】:所以我对慢查询日志的理解是,它记录了我们在my.conf文件中设置的所有那些花费>=... 查看详情

深入浅出mysql8.0错误日志(代码片段)

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。理论知识错误日志内容错误日志包含mysqld启动和关闭的时间信息,还包含诊断消息,如服务器启动和关闭期间以及服务器运行时出现的错误... 查看详情

linux学习-mysql二进制日志(代码片段)

二进制日志formatstatementrowmixed|sql_log_bin|ON|#关闭二进制日志mysql>setsql_log_bin=0;QueryOK,0rowsaffected(0.00sec)#查看二进制日志内容mysql>showbinlogeventsin'mysql-bin.000004';+------------------& 查看详情

mysql二进制日志详解(代码片段)

一、什么是二进制日志二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改。二进制日志还包含执行每个... 查看详情

对mysql中redologundologbinlog深入理解(代码片段)

redolog与binlogredolog是InnoDB引擎中的日志,在其他引擎中没有。binlog是在mysql服务层中的日志,所有的存储引擎都有binlog日志。那么问题来了,既然有了binlog日志,为何又要有redolog日志呢?因为在InnoDB引擎中࿰... 查看详情

mysql日志分类:错误日志二进制日志查询日志慢查询日志(代码片段)

MySQL性能强劲,是目前使用最广泛的数据库之一,以 MySQL为学习原型也方便之后掌握其他数据库,下面就给大家全面讲解下MySQL8.0的新特性,从零基础到高阶一站式学习,结合实际案例让大家有所收获!▼M... 查看详情

mysql日志管理(代码片段)

...查询的信息慢查询日志记录执行时间超过指定时间的操作二进制日志又称binlog日志,以二进制文件的方式记录数据库中除select以外的操作中继日志备库将主库的二进制日志复制到自己的中继日志中,从而在本地中进行重... 查看详情

mysql-四大类日志(代码片段)

...志分为4大类🍁错误日志🍃修改系统配置🍁二进制日志🍃查看二进制日志🍃删除二进制日志🍃暂时停止二进制日志的功能🍁事务日志(或称redo日志)🍁慢查询日志:slowquerylog  🦐博客主... 查看详情

深入理解mysql:innodb引擎日志事务索引锁主备调优

文章目录逻辑架构日志系统1.redolog与binlog的对比2.redolog3.binlog4.两阶段提交事务隔离1.隔离级别2.多版本并发控制(MVCC)3.幻读(phantomread)4.脏读(dirtyread)5.不可重复读(non-repeatableread)索引1.I 查看详情

mysql运维日志--错误日志二进制日志查询日志慢查询日志(代码片段)

文章目录1.错误日志2.二进制日志2.1介绍2.2格式2.3查看2.4删除3.查询日志4.慢查询日志(可以记录用时较长的SQL)4.1开启慢查询日志4.2慢查询日志测试4.3补充说明1.错误日志错误日志是MySQL中最重要的日志之一,它记录了... 查看详情

linux12-mysql数据库-->12日志管理(代码片段)

...g_error_verbosity参数二、一般查询日志1、一般查询日志三、二进制日志1、二进制日志简介2、不要混淆以下三种日志:3、开启binlog日志的好处4、二进制日志工作模式1、查 查看详情

mysql-日志(代码片段)

...线图】获取学习路线图。文章目录前言一、日志简介二、二进制日志1、启动和设置二进制日志2、查看二进制日志3、删除二进制日志4、使用二进制日志还原数据库5、 查看详情

mysql-日志(代码片段)

...线图】获取学习路线图。文章目录前言一、日志简介二、二进制日志1、启动和设置二进制日志2、查看二进制日志3、删除二进制日志4、使用二进制日志还原数据库5、 查看详情

mysql-日志(代码片段)

...线图】获取学习路线图。文章目录前言一、日志简介二、二进制日志1、启动和设置二进制日志2、查看二进制日志3、删除二进制日志4、使用二进制日志还原数据库5、 查看详情

《mysql系列-innodb引擎19》文件-日志文件-二进制日志(代码片段)

...。MySQL数据库中常见的日志文件有:错误日志(errorlog)二进制日志(bilog)慢查询日志(slowquerylog)查询日志(log)这些日志文件可以帮助DBA对MySQL数据库的运行状态进行诊断,从而更好的进行数据库层面的优化。二进制日志  二... 查看详情

mysql日志(代码片段)

...xff0c;建议首先查看此日志。showvariableslike"log_error";2.二进制日志二进制日志(BINLOG)记 查看详情