Mysql binlogログの削除方法


方法1 RESET MASTER;
説明:
                      ,                ,      .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.       。