清理MySql各种日志
因为上个月做了数据库的同步,打开了Mysql的二进制日志和.log日志,这些日志文件非常的庞大,.log日志已经达到了25个G,mysql-bin.00000X日志也达到了5个G,首先清理主服务器上的日志文件,我先清理二进制文件(mysql-bin.00000X),先查看有哪些文件:
用命令查看:
show binary logs;
然后去从服务器上查看哪个二进制正在使用,
show slave status\G;
我们看到mysql-tb-bin.000005这个日志文件正在使用。
回到主服务器开始清理日志,但是不能清理mysql-tb-bin.000005这个日志文件,用命令清理:
purge binary logs to ‘mysql-tb-bin.000005‘;
这个命令就是清理除mysql-tb-bin.000005以外的其他二进制日志;执行成功后,再查看二进制日志列表:show binary logs;
清理成功,但是这样手动清理危险很大,而且还比较复杂,有没有自动清理的方法呢?答案是有的,在my.ini里面加上这个配置:expire_logs_days=5 这个配置的意思就是,日志的过期天数,超过5天的日志,mysql会自动清理5天以前的日志,这样就不用再担心日志文件文件越来越大的问题了,执行命令的时候一定要慎重,确保万无一失再执行。