## ## binlog文件生成:在每條二進位日誌寫入到日誌文件後,會判斷該文件是否超過max_binlog_size,如果超過則生成一個新的binlog relay log文件生成:每從Master fetch一個events後,判斷當前文件是否超過max_relay_log_size 如果超過則 ...
##==================================================================================================##
binlog文件生成:在每條二進位日誌寫入到日誌文件後,會判斷該文件是否超過max_binlog_size,如果超過則生成一個新的binlog
relay log文件生成:每從Master fetch一個events後,判斷當前文件是否超過max_relay_log_size 如果超過則自動生成一個新的relay-log-file
##==================================================================================================##
binlog文件刪除機制:
1、當使用RESET MASTER命令後,會清空全部二進位日誌
命令:RESET MASTER;
2、當執行PURGE MASTER LOG TO命令後,會刪除指定binlog以及之前的二進位日誌
命令:PURGE MASTER LOGS TO 'binlog file name';
3、當執行PURGE MASTER LOG BEFORE 命令後,會刪除指定時間前的所有二進位
命令:PURGE MASTER LOGS TO 'datetime';
4、當實例啟動或執行flush logs時,按照expire_logs_days設置,如果超過該參數指定天數的二進位會被全部刪除
命令:mysqladmin flush-log
##==================================================================================================##
binlog文件刪除順序:
先從文件系統中刪除binlog文件,在修改binlog的索引文件。
##==================================================================================================##
relay log刪除機制
1、在SQL Thread每執行完一個events時判斷,如果該relay-log 已經不再需要則自動刪除
2、在實例重啟或執行flush log時判斷relay-log是否超過expire-logs-days的設定值,超過purge file
3、在執行reset slave時刪除所有relay-log
##==================================================================================================##
##查看文件日期
ll -h --time-style='+%Y-%m-%d %H:%M:%S' mysql-bin*
##==================================================================================================##
補充知識:
1、在使用mysqldump備份時,可以指定參數--flush-logs來在備份開始前刷新日誌
2、參數expire-logs-days的預設值為0,會導致relay-log在flush logs時沒有自動清除。
3、除參數binlog-format外,參數binlog_row_image也會影響binlog日誌文件大小,尤其當包含blob等大欄位記錄行被更新時。
4、參數binlog_rows_query_log_events用來在binlog中存放導致數據變化的“原始SQL”,該參數預設不啟用,在部分場景中可以開啟該參數來排查。
##==================================================================================================##
關閉會話級別的BINLOG
如果不希望當前會話的行為被記錄到binlog中,可以使用參數sql_log_bin來禁用:
SET SESSION SQL_LOG_BIN=0
比如在主庫上進行數據刪除,或在主庫上創建索引,但不希望傳遞到從庫時,可以採用此方式處理
##==================================================================================================##