开发者社区 问答 正文

技术运维问题 - MYSQL使用 -RDS Mysql中binlog日志查看

下载后的mysql  binlog日志需要通过mysqlbinlog命令查看,具体参数如下: mysqlbinlog -vv --base64-output=decode-rows 日志文件名







参数说明:
-v, --verbose
      用于输出基于row模式的binlog日志,-vv为列数据类型添加注释
--base64-output=decode-rows
      解码binlog里经过base64编码的内容

例: mysqlbinlog -vv --base64-output=decode-rows mysqlbinlog.0001




具体操作如下图:


注:
如果通过mysqlbinlog解析binlog时遇到类似如下提示:



请用户检查使用的mysqlbinlog是否版本较低,比如使用3.3版本会遇到上述错误提示无法正常解析binlog日志,使用较高版本,如3.4版本可以正常查看,这种情况下用户可以使用较高版本的mysqlbinlog。
ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 151, event_type: 35
ERROR: Could not read entry at offset 120: Error in log format or read error.


如问题还未解决,请联系[url=https://selfservice.console.aliyun.com/ticket/createIndex.htm]售后技术支持

展开
收起
梨好橙 2018-09-24 22:23:22 1774 分享 版权
阿里云 AI 助理回答

要查看下载后的MySQL Binlog日志,您需要使用mysqlbinlog命令行工具,并采用特定参数来确保日志内容被正确解析和显示。具体操作步骤与参数说明如下:

  1. 命令格式:

    mysqlbinlog -vv --base64-output=decode-rows 日志文件名
    
  2. 参数说明:

    • -vv--verbose: 这个参数用于增加输出的详细程度,当设置为 -vv 时,它不仅会输出基于row格式的Binlog日志内容,还会为列数据类型添加注释,便于理解每条事件的具体结构。
    • --base64-output=decode-rows: 此参数指示mysqlbinlog工具解码那些在Binlog中经过Base64编码的数据内容,这对于阅读包含实际插入或更新数据的日志尤为重要。
  3. 示例命令:

    mysqlbinlog -vv --base64-output=decode-rows mysqlbinlog.0001
    

    上述命令将详细并解码地展示名为mysqlbinlog.0001的Binlog文件内容。

  4. 注意事项:

    • 确保使用的mysqlbinlog版本与您的MySQL服务器版本兼容。使用过低的版本(如3.3)可能导致解析错误,提示信息如“Sanity check failed”或“Error in log format”。推荐使用较高版本(如3.4及以上),以避免此类问题。
    • 如果遇到解析错误且升级mysqlbinlog版本后问题仍未解决,请联系售后技术支持获取帮助。

通过遵循上述指南,您可以有效地查看和解析MySQL Binlog日志,以便于数据库监控、审计或进行时间点恢复等操作。

参考资料: RDS MySQL版远程获取Binlog日志并解析Binlog日志, 库表恢复:按时间点恢复

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答