文档首页/ 云数据库 TaurusDB/ 用户指南/ Binlog管理/ 使用mysqlbinlog工具获取binlog
更新时间:2026-03-17 GMT+08:00
分享

使用mysqlbinlog工具获取binlog

操作场景

本章节介绍如何从弹性云服务器ECS上拉取Binlog日志,并通过mysqlbinlog工具查看并解析Binlog日志。

前提条件

请确认您已开启Binlog日志,包含本地BinlogOBS转储Binlog

操作步骤

  1. 在ECS上安装MySQL客户端,详情请参考安装MySQL客户端

    TaurusDB兼容社区MySQL 8.0及以上版本,请勿安装8.0以下版本的客户端。

  2. 通过MySQL客户端连接TaurusDB
  3. 执行如下命令,查找需要下载的Binlog文件。
    show binlog logs with time;

    Binlog数量过多时,执行时间变长,会短暂阻塞正常的事务提交。

  4. 执行命令,下载Binlog原始文件到本地。

    本章节示例以Linux系统为例,在执行如下语句前,需先执行exit退出MySQL客户端后,才能下载Binlog日志到本地。

    mysqlbinlog -h<连接地址> -u<用户名> -P<端口号> -p<密码> --read-from-remote-server --raw binlog.xxxx -r <结果文件目录>
    mysqlbinlog -h127.0.0.1 -uroot -P54855 -p --read-from-remote-server --raw binlog.000002 -r /tmp/

    表1 mysqlbinlog参数说明

    参数

    说明

    -h

    TaurusDB实例的读写内网地址或读写公网地址。

    -u

    TaurusDB的数据库账号, 默认的管理员账号是root。

    -P

    TaurusDB的数据库端口,默认3306。

    -p

    TaurusDB的数据库账号对应的密码。

    -R(--read-from-remote-server)

    远程下载binlog(用于mysqlbinlog与数据库服务端不在同一台机器的情况)。

    -r(--result-file)

    直接输出到指定文件。使用 --raw 选项时,这将作为文件名的前缀。

  5. 解析Binlog原始文件。
    mysqlbinlog -vv --base64-output=decode-rows mysql-bin.****** -r  <结果文件>
    mysqlbinlog -vv --base64-output=decode-rows /tmp/binlog.000002 -r /tmp/000002.result

    表2 解析相关参数

    参数

    说明

    -vv

    查看具体SQL语句及备注。

    --base64-output

    解析Binlog日志文件。

mysqlbinlog其他参数

表3 mysqlbinlog参数

参数

说明

--start-position

表示从指定的起始位置开始解析。

--start-datetime

表示从指定的时间开始解析。

--stop-position

表示解析到指定的位置。

--stop-datetime

表示解析到指定的时间。

--skip-gtids

跳过打印gtid_log_event。

--short-form

表示只显示statements。

相关文档