Mysql binlogログの削除方法
方法1 RESET MASTER;
説明:
方法2:PURGE MASTER LOGS
方法3 binlogログファイルを手動で削除する
方法4:失効日数の指定(expire_logs_days)
説明:
, , .000001 。
。
, 。
:
a. master slave, replication( )
b. master , slave
c. , stop slave reset slave,
d. master reset master
MariaDB [cndba]> system ls -ltr /data/mysql10.2.11/mysql-bin*
-rw-rw----. 1 mysql mysql 3543 Dec 15 11:41 /data/mysql10.2.11/mysql-bin.000001
-rw-rw----. 1 mysql mysql 342 Dec 15 11:41 /data/mysql10.2.11/mysql-bin.000002
-rw-rw----. 1 mysql mysql 38 Dec 15 11:41 /data/mysql10.2.11/mysql-bin.index
RESET MASTER
MariaDB [cndba]> RESET MASTER;
MariaDB [cndba]> system ls -ltr /data/mysql10.2.11/mysql-bin*
-rw-rw----. 1 mysql mysql 328 Dec 15 11:42 /data/mysql10.2.11/mysql-bin.000001
-rw-rw----. 1 mysql mysql 19 Dec 15 11:42 /data/mysql10.2.11/mysql-bin.index
方法2:PURGE MASTER LOGS
:
PURGE { BINARY | MASTER } LOGS
{ TO 'log_name' | BEFORE datetime_expr }
。 , 。
:
PURGE BINARY LOGS TO 'mysql-bin.000002';
PURGE BINARY LOGS BEFORE '2017-12-15 11:53:59';
: mysql-bin.000002 ( mysql-bin.000002)
2014-04-28 23:59:59
:
binlog , mysql-bin.index , 。
, , , slave log, , ; , slave , 。
:
a , SHOW SLAVE STATUS 。
b SHOW MASTER LOGS 。
c 。 。 , 。
d 。( , 。)
e 。
方法3 binlogログファイルを手動で削除する
binlog
mysql-bin.000003
[root@maridb1 mysql10.2.11]# rm -rf mysql-bin.000003
[root@maridb1 mysql10.2.11]# vi mysql-bin.index
./mysql-bin.000003
./mysql-bin.000004
./mysql-bin.000003
MariaDB [(none)]> system ls -ltr /data/mysql10.2.11/mysql-bin*
-rw-rw----. 1 mysql mysql 328 Dec 15 11:58 /data/mysql10.2.11/mysql-bin.000004
-rw-rw----. 1 mysql mysql 19 Dec 15 11:58 /data/mysql10.2.11/mysql-bin.index
方法4:失効日数の指定(expire_logs_days)
MariaDB [(none)]> show variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 0 |
+------------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]> set global expire_logs_days = 60;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 60 |
+------------------+-------+
1 row in set (0.00 sec)
/etc/my.cnf
expire_logs_days=60
mysql
,
MariaDB [(none)]> flush logs;
Query OK, 0 rows affected (0.03 sec)
MariaDB [(none)]> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000006 | 371 |
+------------------+-----------+
3 rows in set (0.00 sec)
, binlog 。
LOG flush 。
log flush :
1. mysql;
2. BINLOG max_binlog_size ;
3. 。