最近有个上线的项目,跑在VPS里面,运行了一段时间后,莫名其妙的报错。经过排查发现是硬盘满了。
通过慢慢的查看文件目录,最终发现是 /var/lib/mysql 这个目录下的文件里面占满了整个硬盘。
查看Mysql的配置参数
# 清理10天以前的 BINLOG
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);
# 查看LOG参数
show variables like '%expire_logs%'
show variables like '%binlog%';
# 设置自动清理时间
set global binlog_expire_logs_seconds=2592000
分析Binlog
通过下面命令可以查看binlog的详细
mysqlbinlog /path/to/binlog-file | more
分析Binlog下的二进制数据
通过上面的数据会发现,有一堆“不能理解的数据“
所以可以配合下面这个命令使用
mysqlbinlog --base64-output=DECODE-ROWS -v /path/to/binlog-file