背景:线上数据库binlog增长速度较之前加快,通过以下命令查询哪些库和表有较多的更新
导出查询日志为简单的文本文件(请勿对正在使用的binlog进行操作)
mysqlbinlog --no-defaults mysql-bin.004794|grep Table_map > /tmp/db-caac-all-004794.log
数据库的update次数
cat /tmp/db-caac-all.log|awk '{print $11}'|awk -F '.' '{a[$1]++}END{for(i in a)print i,a[i]}'|sort -rn -k 2|column -t
查询表的update次数
cat /tmp/db-caac-all.log|awk '{print $11}'|awk -F '.' '{a[$2]++}END{for(i in a)print i,a[i]}'|sort -rn -k 2|column -t
清理历史binlog日志
手动删清理10天前的MySQL binlog日志(请勿对正在使用的binlog进行操作)
> PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);