mysql-bin.000001 等二進制日誌佔用 4GB+ 磁碟log-bin 重啟 MySQL 報錯:ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock'# 登入 MySQL
mysql -u root -p
# 一鍵清空所有 Binlog,重置索引
RESET MASTER;
效果:刪除所有 mysql-bin.*,重建 mysql-bin.index,從 mysql-bin.000001 重新開始。**主從環境慎用**,會導致從庫同步中斷需重建。
/etc/my.cnf:
[mysqld]
log-bin = mysql-bin
binlog_format = ROW
expire_logs_days = 7 # 自動刪除 7 天前的 Binlog
max_binlog_size = 100M # 單檔上限,防止單檔過大
重啟生效:systemctl restart mysqld
/etc/my.cnf:
[mysqld]
# log-bin = mysql-bin # 註釋掉
# binlog_format = mixed # 註釋掉
# 拒絕啟動 Binlog
skip-log-bin # 8.0+ 顯式禁用參數
**注意**:註釋 log-bin 後,若原配置有 binlog_format 等依賴項,**必須同步註釋**,否則啟動報錯 (如方案一現象)。
並非直接因果。實際是:**修改配置後重啟失敗** (因殘留 binlog_format 等參數),MySQL 進程未真正啟動,自然無 Socket 檔案。客戶端報「找不到 Socket」是**服務未啟動**的表象。
my.cnf,同步註釋 log-bin 和 binlog_format (或加 skip-log-bin)systemctl restart mysqldSHOW VARIABLES LIKE 'log_bin'; 返回 OFFrm -f /var/lib/mysql/mysql-bin.*expire_logs_days,定期備份 Binlog 至異地log_slave_updates=1 時也會產生 Binlog,同樣設過期清理**核心:保留 Binlog 用 expire_logs_days 自動清理;非復制場景用 skip-log-bin 徹底禁用並手動清理舊檔。**