A-A+

mysqlbinlog把mysql二进制文件转换文本文件

2017年10月15日 PHP技术文章 暂无评论 阅读 0 views 次

mysqlbinlog命令是mysql中的一个恢复mysql数据库的工具了,下面本文章再次来为各位介绍利用mysqlbinlog来恢复mysql二进制日志的例子.

目前一些项目已经迁移到Mysql5.5,而在mysql5.5中binlog_format为mixed这样的话,默认情况下的Mysql binary log就是base64格式,不可读,为了在排查问题时候,提供帮助研读下mysqlbinlog的帮助文档得知可以解码:

  1. –base64-output[=name]   
  2. Determine when the output statements should be   
  3. base64-encoded BINLOG statements: ’never’ disables it and   
  4. works only for binlogs without row-based events;   
  5.  ’decode-rows’ decodes row events into commented SQL   
  6.                       statements if the –verbose option is also given; ’auto’   
  7. prints base64 only when necessary (i.e., for row-based   
  8. events and format description events); ’always’ prints   
  9. base64 whenever possible. ’always’ is deprecated, will be   
  10. removed in a future version, and should not be used in a   
  11. production system.  –base64-output with no ’name’   
  12. //开源代码www.xiariboke.net   
  13. argument is equivalent to –base64-output=always and is   
  14. also deprecated.  If no –base64-output[=nameoption is   
  15. given at all, the default is ’auto’.   
  16. mysqlbinlog –base64-output=DECODE-ROWS -v mysql-bin.00002   

通过给定–base64-output和-v参数,可以解码row模式下的binary log.

unknown variable ‘default-character-set=utf8mb4′错误

一个手机网的项目,使用的编码为utf8mb4,一切都是正常的,到了用mysqlbinlog的时候,提示如下:

[root@localhost data]# mysqlbinlog mysql-bin-500.000011

mysqlbinlog:unknown variable ‘default-character-set=utf8mb4′

解决方法:

1. 修改my.cnf,在[client]下注释或删除default-character-set=utf8mb4;

2. 在命令行中加入–no-defaults开关,使用mysqlbinlog –no-defaults;

标签:

给我留言