說明:
當開啟mysql數據庫主從時,會產生大量如mysql-bin.00000* log的文件,這會大量耗費您的硬盤空間。
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.000004
mysql-bin.000005
有三種解決方法:
1.關閉mysql主從,關閉binlog;
2.開啟mysql主從,設置expire_logs_days;
3.手動清除binlog文件,> PURGE MASTER LOGS TO ‘MySQL-bin.010′;
1.關閉mysql主從,關閉binlog
# vim /etc/my.cnf //注釋掉log-bin,binlog_format
# Replication Master Server (default)
# binary logging is required for replication
# log-bin=mysql-bin
# binary logging format - mixed recommended
# binlog_format=mixed
然后重啟數據庫
2.重啟mysql,開啟mysql主從,設置expire_logs_days
# vim /etc/my.cnf //修改expire_logs_days,x是自動刪除的天數,一般將x設置為短點,如10
expire_logs_days = x //二進制日志自動刪除的天數。默認值為0,表示“沒有自動刪除”
此方法需要重啟mysql,附錄有關於expire_logs_days的英文說明
當然也可以不重啟mysql,開啟mysql主從,直接在mysql里設置expire_logs_days
> show binary logs;
> show variables like '%log%';
> set global expire_logs_days = 10;
3.手動清除binlog文件
# /usr/local/mysql/bin/mysql -u root -p
> PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); //刪除10天前的MySQL binlog日志,附錄2有關於PURGE MASTER LOGS手動刪除用法及示例
> show master logs;
也可以重置master,刪除所有binlog文件:
# /usr/local/mysql/bin/mysql -u root -p
> reset master; //附錄3有清除binlog時,對從mysql的影響說明