首页
学习
活动
专区
圈层
工具
发布

mysql 二进制日志查看

基础概念

MySQL 二进制日志(Binary Log)是 MySQL 数据库记录所有更改数据或可能更改数据的 SQL 命令的一种日志文件。它记录了数据库的所有更改操作,包括数据的插入、更新、删除等。二进制日志主要用于数据恢复、主从复制和审计等场景。

相关优势

  1. 数据恢复:通过二进制日志,可以恢复数据库到某个特定时间点的状态。
  2. 主从复制:在主从复制架构中,主服务器的二进制日志被用来同步数据到从服务器。
  3. 审计:二进制日志可以用于审计数据库操作,了解数据库的使用情况。

类型

MySQL 二进制日志主要有以下几种类型:

  1. STATEMENT:记录每个更改数据的 SQL 语句。
  2. ROW:记录每行数据的更改情况。
  3. MIXED:根据情况自动选择 STATEMENT 或 ROW 模式。

应用场景

  1. 数据备份和恢复:通过二进制日志可以实现增量备份和恢复。
  2. 主从复制:在主从复制中,主服务器的二进制日志被用来同步数据到从服务器。
  3. 数据迁移:通过二进制日志可以实现数据的迁移和同步。
  4. 审计:通过分析二进制日志可以实现数据库操作的审计。

查看二进制日志

MySQL 提供了多种方式来查看二进制日志:

  1. 使用 SHOW BINARY LOGS 命令
  2. 使用 SHOW BINARY LOGS 命令
  3. 这个命令会列出所有可用的二进制日志文件及其大小。
  4. 使用 SHOW BINLOG EVENTS 命令
  5. 使用 SHOW BINLOG EVENTS 命令
  6. 这个命令会显示指定二进制日志文件中的事件。
  7. 使用 mysqlbinlog 工具
  8. 使用 mysqlbinlog 工具
  9. 这个命令会解析并显示二进制日志文件的内容。

遇到的问题及解决方法

问题:二进制日志文件过大

原因:二进制日志文件过大可能是由于长时间运行没有清理,或者日志级别设置过高。

解决方法

  1. 定期清理二进制日志
  2. 定期清理二进制日志
  3. 这个命令会删除指定日志文件之前的所有日志文件。
  4. 设置日志保留策略
  5. 设置日志保留策略
  6. 这个命令会设置二进制日志文件的保留天数为 10 天。
  7. 调整日志级别: 如果不需要记录每行数据的更改情况,可以将日志级别设置为 STATEMENTMIXED

问题:无法查看二进制日志

原因:可能是由于二进制日志功能未开启,或者当前用户没有权限查看二进制日志。

解决方法

  1. 开启二进制日志功能: 在 MySQL 配置文件(如 my.cnfmy.ini)中添加以下配置:
  2. 开启二进制日志功能: 在 MySQL 配置文件(如 my.cnfmy.ini)中添加以下配置:
  3. 然后重启 MySQL 服务。
  4. 授权用户查看二进制日志
  5. 授权用户查看二进制日志
  6. 这个命令会授予用户查看二进制日志的权限。

参考链接

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • MySQL二进制日志

    MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。 总结一下这三种格式日志的优缺点。...= 'b' WHERE owner_member_id = 'a' 执行之后,日志中记录的不是这条 update 语句所对应的事件 (MySQL 以事件的形式来记录 bin-log 日志) ,而是这条语句所更新的每一条记录的变化情况...自然,bin-log 日志的量就会很大。尤其是当执行 alter table 之类的语句的时候,产生的日志量是惊人的。...因为 MySQL 对于 alter table 之类的表结构变更语句的处理方式是整个表的每一条记录都需要变动,实际上就是重建了整个表。那么该表的每一条记录都会被记录到日志中。 2....在 Mixed 模式下,MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式,也就是在 statement 和 row 之间选择一种。

    1.6K50

    Mysql学习笔记(十三)查看mysql日志

    有时候需要查看一下二进制的日志文件,也就是binlog日志,那么这些命令都是怎么样的呐,作者通过摸索。...探讨了一下,总体如下: # 是否开启二进制日志 show variables like 'log_bin'; # 查看特定的二进制日志 show binlog events in 'binlog.000121...'; # 查看当前的二进制日志状态 show master status; #列表展示二进制文件 show binary logs; #查看二进制文件内容 mysqlbinlog.exe --no-defaults...\data\binlog.000121 | more 这里主要演示一下,查看特定二进制日志的效果。作者通过查询资料,发现二进制文件有statement模式和row模式,如下所示是row模式。...row模式中有一个标志table_id,然后binlog日志就是全部的二进制数字。如图所示。 ? ? 但是作者又想看一下都做了哪些操作?于是就用mysqlbinlog.exe来查看。

    2.8K10

    ②⑩ 【MySQL Log】详解MySQL日志:错误日志、二进制日志、查询日志、慢查询日志

    MySQL日志:错误日志、二进制日志、查询日志、慢查询日志 1....错误日志 2. 二进制日志 3. 查询日志 4. 慢查询日志 ②⑩ MySQL日志:错误日志、二进制日志、查询日志、慢查询日志 1....在MySQL8版本中,默认二进制日志是开启着的; 查看二进制日志位置、参数: SHOW VARIABLES LIKE '%log_bin%'; 二进制日志 - 格式: MySQL服务器提供了多种格式来记录二进制日志...: 查看 默认的二进制日志格式: -- ROW SHOW VARIABLES LIKE '%binlog_format%'; 查看 二进制日志: 由于日志是以二进制方式存储的,不能直接读取,需要通过二进制日志查询工具...以下是清理二进制日志的 3种方式(命令行指令): 也可以在mysql的配置文件中配置二进制日志的过期时间,设置了之后,二进制日志过期会自动删除。

    2.9K10

    MySQL 压缩二进制日志

    ,从节点获取日志时可能会有更多的网络流量,等等。通常,二进制日志压缩效果很好,所以人们一直希望有一个功能可以在MySQL使用二进制日志时对其进行压缩。从MySQL8.0.20开始,现在可以了。...怎样从监控中查看二进制日志压缩功能? 监控 有二个方法可以监控二进制日志压缩功能的性能。一个Performance Schema中的压缩统计表和新的阶段事件。...这个例子中,MySQL花费了6.21秒来压缩二进制日志,每个事务平均不到400微秒。相比,二进制日志文件执行I/O花费了4.8分钟。...为了进行比较,我还手工压缩系列测试的中未压缩的二进制日志,以查看最佳压缩率(与MySQL使用的每次事务压缩不同)。除了给定测试所需的设置外,测试都是使用默认配置执行的。...当比较MySQL压缩的二进制日志和使用zstd手工压缩的二进制日志时,批量负载的文件大小大致相同,这也反映出对于大事务,按每个事务进行压缩等同于压缩整个文件。

    2.3K81

    MySQL 二进制日志(Binary Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。...二进制日志,也叫binary log,是MySQL Server中最为重要的日志之一,本文主要描述二进制日志。...该日志在MySQL 5.1中已不再使用。    d、二进制日志:记录所有更改数据的语句。还用于复制。    ...每个二进制日志名会添加一个数字扩展名用于日志老化,因此不支持自定义的扩展名,会被mysql数字扩展名动态替换。     ...000004 -rw-rw---- 1 mysql mysql 147 Oct 3 13:46 /var/lib/mysql/binarylog/binlog.000003 c、模拟产生二进制日志及查看内容

    2.5K20

    MYSQL-二进制日志(Binlog)

    MySQL(本章节) PostgreSQL MongoDB Redis Etcd 我们在前面在介绍中间件:ZooKeeper介绍过事务日志,在MYSQL里面其实有类似的东西,但是他们的功能并不相同。...一、什么是二进制日志(Binlog) 二进制日志(Binary Log)是 MySQL 服务层创建的一种逻辑日志,它记录了对 MySQL 数据库执行的所有更改数据的操作(DDL 和 DML),但不包括...二、二进制日志的主要作用 主从复制(Replication),这是 Binlog 最经典的作用。...审计(Audit) 通过解析 Binlog,可以查看谁在什么时候对数据库做了哪些修改,用于安全审计和问题排查。...三、二进制日志的格式(Binlog Format) Binlog 有三种记录格式,这直接影响复制的行为和数据的安全性。可以通过 binlog_format 参数进行设置。

    51310

    压缩MySQL二进制日志(译文)

    摘要:二进制日志通常会占用大量的磁盘空间,从MySQL 8.0.20开始,可以对MySQL正在使用的二进制日志进行压缩。这篇文章将探讨这个新功能。...在一个繁忙的MySQL服务器上,二进制日志最终可能会成为使用磁盘空间的最大占用者之一。这意味着更高的I/O,更大的备份集(您正在备份二进制日志,对吗?)...,当向从库传输二进制日志时,网络流量会增加,等等。所以长期以来一直希望有一个二进制日志压缩功能,允许对MySQL正在使用的二进制日志进行压缩。从MySQL 8.0.20开始,现在可以了。...在本例中,MySQL总计花了6.21秒进行二进制日志的压缩,每笔事务平均略低于400微秒。相比之下,MySQL总计花了4.8分钟在二进制日志文件上做I/O,这说明压缩在写日志的时间中占比很低。...为了比较,我还尝试手动压缩这些测试中未压缩的二进制日志,以查看最佳压缩效果(而不是MySQL使用的每笔事务压缩)。除了必要的设置外,测试采用默认的配置。

    1.7K10

    MySQL日志文件之二进制日志Binlog详解

    Binlog(二进制日志)数据库管理中不可或缺的重要工具,记录了数据库中的所有变更操作,为数据恢复、主从复制和审计等关键功能提供了基础是MySQL 服务器层维护的一种二进制格式的日志文件,记录了所有DDL...,OFF即为关闭状态 show golbal variables like 'log_bin';查看Binlog 日志 show binary logs;常用配置#启用二进制日志#log_bin 指定了二进制日志文件的前缀名称...当达到这个大小时,MySQL将创建一个新的日志文件[mysqld]max_binlog_size = 100M#二进制日志缓存大小,binlog_cache_size指定了事务日志的大小,用于ROW 格式的...[mysqld]log_bin_index = mysql-bin.index#同步二进制日志到磁盘#binlog_sync 控制何时将事务日志从缓存同步到磁盘。...参数作用:sync_binlog 是 MySQL 的一个重要参数,主要用于控制二进制日志(Binary Log,Binlog)与存储设备之间的同步频率。

    1.3K10

    MySQL二进制日志(binary log)总结

    用来记录操作MySQL数据库中的写入性操作(增删改,但不包括查询),相当于sqlserver中的完整恢复模式下的事务日志文件。 二进制日志的作用?   ...1,用于复制,配置了主从复制的时候,主服务器会将其产生的二进制日志发送到slave端,slave端会利用这个二进制日志的信息在本地重做,实现主从同步   2,用户恢复,MySQL可以在全备和差异备份的基础上...二进制日志(binary log)的相关参数信息 1,开启二进制日志  开启二进制日志,需要制定一个log-bin参数的路径,也即:log_bin=/var/lib/mysql/mysql-bin  开始二进制日志之后会自动生成一个管理二进制日志的...可以通过命令show master logs 查看当前的二进制日志文件个数 6,二进制日志文件的滚动 1)正常情况下,记录满之后,自动滚动,后缀名+1  2)重启mysql服务之后,自动滚动,不管时候记录满...暂时没有研究过这个参数,暂不论 总结: MySQL二进制日志不仅仅作用于功能性(master-slave复制)的,还作用于安全性(二进制日志)以及开启了二进制日志情况下的事务性操作,因此对于生产环境,

    1.6K10

    Mysql 中二进制日志的初步认知

    二进制日志 二进制日志中以“事件”的形式记录了数据库中数据的变化情况,对于MySQL数据库的灾难恢复起着重要的作用。...二进制日志文件不能以纯文本文件的形式来查看,可以使用 MySQL 的 mysqlbinlog 命令进行查看。...接下来简单介绍一下查看 MySQL 二进制日志的步骤。...注意:查看 /data/mysql/log/bin_log 目录下生成的 MySQL 二进制文件时,发现有一个 mysql-bin.index 文件,这个文件不记录二进制内容,其中记录的是当前目录下存在的所有二进制文件的完整路径...---- cat /data/mysql/log/bin_log/mysql-bin.index ---- 删除二进制日志 MySQL中除了通过配置二进制日志的过期时间,由 MySQL 自动删除过期的二进制日志外

    93210
    领券