码迷,mamicode.com
首页 > 其他好文 > 详细

binlog的一些问题

时间:2016-06-20 19:08:58      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:update   二进制   记录表   binlog   row模式   

1、$ mysqlbinlog mysql-bin.000559 > bin000559.sql

mysqlbinlog: unknown variable ‘default-character-set=utf8‘


解决方法:

加--no-defaults参数后可以解决

mysqlbinlog --no-defaults mysql-bin.000559 |less


2、因为binlog日志格式是ROW,查看row模式二进制日志的sql格式命令如下

mysqlbinlog  --no-defaults --base64-output=decode-rows -v mysql-bin.000559 |less


3、业务binlog增加特别快,不到5分钟,写一个binlog,每个binlog 5OOM

分析binlog日志发现,频繁update一个表含有mediumblob

 binlog日志模式为row模式,每次更新会记录表中所有列值,含有大字段的行更新频繁,导致binlog增长过快!

mysql5.6中已新增参数binlog_row_image,我已将压测服的该参数设置为minimal,表示binlog日志只记录修改的列而不是行中所有列的值,如果行中的BLOGs 字段并不是每次都更新,则不会记录。

前提条件是:这些大字段的值本身在实际更新时的频率不高。


实际压测发现,原来不到5分钟生成一个500M的binlog,现在是8~9分钟一个500M的binlog。

效果不是很明显,所以还需要程序端来优化


本文出自 “菜鸟地盘” 博客,请务必保留此出处http://yangjingangel.blog.51cto.com/8351501/1791019

binlog的一些问题

标签:update   二进制   记录表   binlog   row模式   

原文地址:http://yangjingangel.blog.51cto.com/8351501/1791019

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!