MySQL查看二进制日志

作者 : 开心源码 本文共959个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共244人阅读

MySQL日志更多内容请查看我另一篇文章:https://www.songma.com/p/971676d3edfb

前提

查看日志的前提自然是要保证数据库开启了日志,开始操作前我们需要检查 MySQL 的 log-bin 参数,ON 表示已开启日志,OFF 表示未开启(假如该参数为 OFF,那么可以放弃此次日志查看操作了,之前的操作并没有日志记录),操作如下(mysql命令行中执行):

show variables like 'log-bin';

操作

MySQL 的日志查看是通过官方提供的 mysqlbinlog 工具进行的,mysqlbinlog 可以将日志中的内容打印到控制台,配合操作系统的命令可以将其输出到指定文件,此文中以 CentOS 为例,具体操作分以下几步:

  1. 确定日志文件位置

    通过 /etc/my.cnf (默认安装后 MySQL 配置文件位置,假如手动指定可通过 find / -name ‘my.cnf’来查找)中配置的 log-bin 参数来确定二进制文件位置,日志路径下通常有多个日志文件,其中编号最大的一般为最新的文件,可通过以下命令行查看当前日志文件(mysql命令行中执行):

    show master logs;show master status;
  2. 输出文件内容

    通过 mysqlbinlog 将文件内容输出到指定文件,之后便可以使用普通编辑器打开了,当然也可以在当前控制台直接查看,不过格式可能较为混乱,交易输出文件后下载查看,文件中包含了所有的DDL和DML语句,但不包含select语句,由于其对数据并没有做任何修改,命令如下(系统控制台中执行):

# 直接查看mysqlbinlog mysql-bin.*****(日志文件号)# 输出到指定文件mysqlbinlog mysql-bin.***** > mysqllog.log# 指定时间段输出mysqlbinlog --start-datetime '2019-01-08 00:00:00' --stop-datetime '2019-01-08 01:00:00' mysql-bin.***** > mysqllog.log

假如执行过程出现以下提醒,可暂时增加 –no-defaults 参数跳过检查

mysqlbinlog:[ERROR] unknown variable 'default-character-set=utf8'

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » MySQL查看二进制日志

发表回复