mysql8 設置binlog過期時間
mysql8中 使用binlog_expire_logs_seconds
設置日誌過期時間,廢棄參數:expire_logs_days
mysql> show variables like '%expire%';
+--------------------------------+---------+
| Variable_name | Value |
+--------------------------------+---------+
| binlog_expire_logs_seconds | 2592000 |
| disconnect_on_expired_password | ON |
| expire_logs_days | 0 |
+--------------------------------+---------+
mysql> set global expire_logs_days=7;
ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds cannot be
used together. Please use binlog_expire_logs_seconds to set the expire time
(expire_logs_days is deprecated)
mysql8 默認設置的binlog過期時間是30天;
如下設置過期日期爲7天:
mysql> set global binlog_expire_logs_seconds=604800;
查看binlog
查看binary logs名稱列表
mysql> show binary logs;
查看binlog內容
mysql> show binlog events;
手工刷新日誌
mysql> show binary logs;
+----------------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+----------------------+-----------+-----------+
| HURYER-PC-bin.000028 | 155 | No |
+----------------------+-----------+-----------+
1 rows in set (0.00 sec)
mysql> flush logs;
Query OK, 0 rows affected (0.03 sec)
mysql> show binary logs;
+----------------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+----------------------+-----------+-----------+
| HURYER-PC-bin.000028 | 206 | No |
| HURYER-PC-bin.000029 | 155 | No |
+----------------------+-----------+-----------+
2 rows in set (0.00 sec)
清理日誌
mysql> purge binary logs to 'HURYER-PC-bin.000029';
Query OK, 0 rows affected (0.01 sec)
mysql> show binary logs;
+----------------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+----------------------+-----------+-----------+
| HURYER-PC-bin.000029 | 155 | No |
+----------------------+-----------+-----------+
1 row in set (0.00 sec)
mysql> purge binary logs before '2020-03-08';
Query OK, 0 rows affected (0.02 sec)