315 字
2 分鐘
MySQL binlog 設定(坑)
MySQL binlog 設定(坑)
MySQL 的二進制日誌(binlog) 是 MySQL 的重要功能之一,可以用來做資料庫的還原、複製等操作。
binlog紀錄了所有的資料庫操作(DDL,DML),例如insert,update,delete等等。 以事件(event)的方式紀錄,可以用來做資料庫的還原、複製等操作。
注意: 不要隨意手動刪除
binlog的檔案,可能會導致資料庫異常。
起因:
在風平浪靜的平日,被突然告知網站掛了==,然後就開始忙碌查詢相關原因。 發現到空間不足了因此查了到底是誰佔了大多數的空間! 最後定位到了 MySQL 的
binlog在搞鬼…。
檔案相關位置
- binlog 位置:
(/var/lib/mysql) - error_log 位置:
(/var/log/mysql/error.log)
一些指令小抄
df -h
du -h ./ --max-depth 1
systemctl stop mysql
systemctl restart mysql相關的 DB Query
MySQL 查詢 binlog 相關設定
-- 查看系統設定的日誌過期相關設定
SHOW VARIABLES LIKE '%expire_logs%';
-- 查詢 binlog 紀錄
SHOW BINARY logs;
-- 刪除一天前的 binlog 紀錄 (擇一)
PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 1 DAY);
-- 清除到指定 log 檔為止 (擇一)
PURGE BINARY LOGS TO 'mysql-bin.010';
-- 全部清除
RESET MASTER;
