mysql主從會(huì)在主會(huì)產(chǎn)生大量如mysql-bin*的log日志文件,這會(huì)消耗大量的硬盤(pán)空間。在保持MySQL主從復(fù)制的功能下有兩種解決方法:
1. 設(shè)置日志expire_logs_days
設(shè)置日志expire_logs_days
修改MySQL配置文件,設(shè)置expire_logs_days,重啟MySQL。
# vim /etc/my.cnf
expire_logs_days = x //日志自動(dòng)刪除的天數(shù)。一般講x設(shè)置的短點(diǎn),如10
直接在MySQL里設(shè)置expire_logs_days,無(wú)需重啟MySQL(臨時(shí)重啟后回復(fù))。
# mysql -u root -p
> show binary logs;
> show variables like '%log%';
> set global expire_logs_days = 10;
2. 手動(dòng)清楚bin日志文件。
手動(dòng)清理bin日志文件(特定的)
# mysql -u root -p
> purge master logs before date_sub(current_date, interval 50 day);? //刪除50天前的mysql-bin log日志文件
> show master logs; # 查看刪除狀態(tài)
也可以重置master,刪除所有bin文件(所有的)
# mysql -u root -p
> reset master;
備注:
PURGE MASTER LOGS手動(dòng)刪除用法示例
# mysql -u root -p
> purge master logs to 'mysql-bin.010’; //清除mysql-bin.010日志
> purge master logs before '2017-08-28 13:00:00'; //清除2016-02-28 13:00:00前的日志
> purge master logs before date_sub(now(), interval 3 day); //清除3天前的bin日志