mysql历史日志文件_MySQL 历史 binlog 日志处理
MySQL 歷史 binlog 日志處理
一、問題的引出
MySQL binlog 如果不清理會占用服務器的空間,那么怎么處理binlog日志呢
二、解決辦法
1、物理刪除
df -Th 查看磁盤空間
? bob@bob-pc ~ df -Th
文件系統 類型 容量 已用 可用 已用% 掛載點
udev devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 1.6G 2.4M 1.6G 1% /run
/dev/sda1 ext4 110G 101G 3.6G 97% /
tmpfs tmpfs 7.8G 399M 7.4G 6% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sdb1 ext4 458G 35G 400G 8% /data/mnt
tmpfs tmpfs 1.6G 68K 1.6G 1% /run/user/1000
cat bin.index 文件看數據庫binlog文件
? bob@bob-pc /data/mnt/mysql_data sudo cat bin.index
./bin.000112
./bin.000113
./bin.000114
./bin.000115
./bin.000116
rm -rf bin.000112 bin.000113 刪除開始的數據
rm -rf bin.000112 bin.000113
vim bin.index 編輯bin.index 文件 ,刪除掉剛剛刪掉的binlog,不然下次mysql 重啟會起不來
?
2、邏輯刪除
(root@localhost:mysql3306.sock)[(none)]> show binary logs;
+------------+-----------+
| Log_name | File_size |
+------------+-----------+
| bin.000112 | 0 |
| bin.000113 | 0 |
| bin.000114 | 217 |
| bin.000115 | 194 |
| bin.000116 | 194 |
+------------+-----------+
5 rows in set (0.00 sec)
(root@localhost:mysql3306.sock)[(none)]> show variables like '%expire_logs_days%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 7 |
+------------------+-------+
1 row in set (0.00 sec)
(root@localhost:mysql3306.sock)[(none)]> set global expire_logs_days = 4;
Query OK, 0 rows affected (0.00 sec)
這里修改/etc/my.cnf 重啟mysql
3、手動清除binlog文件
登錄機器 執行 刪除3天前的MySQL binlog日志
(root@localhost:mysql3306.sock)[(none)]> PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 3 DAY);
Query OK, 0 rows affected (0.01 sec)
(root@localhost:mysql3306.sock)[(none)]> show master logs ;
+------------+-----------+
| Log_name | File_size |
+------------+-----------+
| bin.000112 | 0 |
| bin.000113 | 0 |
| bin.000114 | 217 |
| bin.000115 | 194 |
| bin.000116 | 194 |
+------------+-----------+
刪除mysql-bin.000114 之前的binlog 這里是個開區間(-無窮,bin.000114)
(root@localhost:mysql3306.sock)[(none)]> PURGE MASTER LOGS to 'bin.000114';
Query OK, 0 rows affected, 2 warnings (0.11 sec)
清除了運行,一下命令顯示已經刪除了
(root@localhost:mysql3306.sock)[(none)]> show master logs;
+------------+-----------+
| Log_name | File_size |
+------------+-----------+
| bin.000114 | 217 |
| bin.000115 | 194 |
| bin.000116 | 194 |
+------------+-----------+
3 rows in set (0.00 sec)
總結
以上是生活随笔為你收集整理的mysql历史日志文件_MySQL 历史 binlog 日志处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态域名解析NAT版结合绿盾加密解密软件
- 下一篇: linux cmake编译源码,linu