開啟MySQL binlog日志的伺服器,如果不設定自動清理日志,預設binlog日志一直保留着,最終導緻伺服器磁盤空間被binlog日志占滿,導緻MySQL資料庫出錯。
正常情況下(磁盤沒有被完全占滿)我們按照此情況處理即可,直接修改日志過期時間,重新開機服務/etc/my.cnf #配置檔案位置
expire_logs_days = 3 #自動删除3天前的日志。預設值為0,表示從不删除。
log-bin=mysql-bin #注釋掉之後,會關閉binlog日志
binlog_format=mixed #注釋掉之後,會關閉binlog日志
:wq! #儲存退出
如果磁盤已經完全被占滿,這時候mysql服務可能起不來。
需要手動删除一部分日志資料。比如我們的日志目錄在:
[email protected]:/usr/local/mysql/var#
删掉一個比較舊的日志檔案
rm mysql-bin.000051
然後啟動服務
/etc/init.d/mysql start
再用df指令看下磁盤空間df -h
此方法隻适用于單機部署下的mysql日志清理。叢集請參考其他文章。