手動直接刪除binlog
# mysql -u root -p 登錄後操作;或者在第三方連接軟件上執行
mysql > PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); # 刪除10天前的MySQL binlog日誌,附錄2有關於PURGE MASTER LOGS手動刪除用法及示例
mysql > show master logs;
binlog的刪除可以手工刪除或自動刪除:
a)自動刪除binlog
通過binlog參數(expire_logs_days )來實現mysql自動刪除binlog
mysql> show binary logs;
mysql> show variables like 'expire_logs_days'; # 該參數表示binlog日誌自動刪除/過期的天數,默認值爲0,表示不自動刪除
mysql> set global expire_logs_days=3; # 表示日誌保留3天,3天后就自動過期。
b)手工刪除binlog
mysql> reset master; # 刪除master的binlog,即手動刪除所有的binlog日誌
mysql> reset slave; # 刪除slave的中繼日誌
mysql> purge master logs before '2012-03-30 17:20:00'; # 刪除指定日期以前的日誌索引中binlog日誌文件
mysql> purge master logs to 'binlog.000002'; # 刪除指定日誌文件的日誌索引中binlog日誌文件
mysql> set sql_log_bin=1/0; # 如果用戶有super權限,可以啓用或禁用當前會話的binlog記錄
mysql> show master logs; # 查看master的binlog日誌列表
mysql> show binary logs; # 查看master的binlog日誌文件大小
mysql> show master status; # 用於提供master二進制日誌文件的狀態信息
mysql> show slave hosts; # 顯示當前註冊的slave的列表。不以--report-host=slave_name選項爲開頭的slave不會顯示在本列表中
mysql> flush logs; # 產生一個新的binlog日誌文件