mysql日志删除

删除日志

1.  RESET MASTER;              

  删除所有binlog日志,新日志编号从头开始,  之前的日志文件在操作系统上也删除掉

  1. mysql> reset master;
测试步骤:
(1)查看linux
  1. [root@MYSQL03 mysql]# ll
  2. total 78004
  3. -rw-r--r--. 1 mysql mysql 69206016 Aug 25 01:32 ibdata1
  4. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile0
  5. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile1
  6. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql
  7. -rw-rw----. 1 mysql mysql 9772 Aug 25 03:11 MYSQL03.err
  8. -rw-rw----. 1 mysql mysql 5 Aug 25 01:32 MYSQL03.pid
  9. -rw-rw----. 1 mysql mysql 4025 Aug 25 03:09 MYSQL03-slow.log
  10. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000010
  11. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000011
  12. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000012
  13. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000013
  14. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000014
  15. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000015
  16. -rw-rw----. 1 mysql mysql 150 Aug 25 03:09 mysql-bin.000016
  17. -rw-rw----. 1 mysql mysql 107 Aug 25 03:09 mysql-bin.000017
  18. -rw-rw----. 1 mysql mysql 232 Aug 25 03:12 mysql-bin.index
  19. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 performance_schema
  20. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:46 test
(2)执行reset master
  1. mysql> reset master;
  2. Query OK, 0 rows affected (0.03 sec)

  3. mysql> show master status ;
  4. +------------------+----------+--------------+------------------+
  5. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  6. +------------------+----------+--------------+------------------+
  7. | mysql-bin.000001 | 107      |              |                  |
  8. +------------------+----------+--------------+------------------+
  9. 1 row in set (0.00 sec)
(3)查看文件
  1. [root@MYSQL03 mysql]# ll
  2. total 77976
  3. -rw-r--r--. 1 mysql mysql 69206016 Aug 25 01:32 ibdata1
  4. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile0
  5. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile1
  6. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql
  7. -rw-rw----. 1 mysql mysql 9772 Aug 25 03:11 MYSQL03.err
  8. -rw-rw----. 1 mysql mysql 5 Aug 25 01:32 MYSQL03.pid
  9. -rw-rw----. 1 mysql mysql 4025 Aug 25 03:09 MYSQL03-slow.log
  10. -rw-rw----. 1 mysql mysql 107 Aug 25 03:15 mysql-bin.000001
  11. -rw-rw----. 1 mysql mysql 29 Aug 25 03:15 mysql-bin.index
  12. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 performance_schema
  13. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:46 test

2. PURGE MASTER LOGS TO 'mysql-bin.******';

删除mysql-bin.******之前所有日志
测试步骤:
(1)执行多次flush logs
  1. mysql> flush logs;
  2. Query OK, 0 rows affected (0.03 sec)
(2)查看日志文件
  1. [root@MYSQL03 mysql]# ll
  2. total 78020
  3. -rw-r--r--. 1 mysql mysql 69206016 Aug 25 01:32 ibdata1
  4. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile0
  5. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile1
  6. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql
  7. -rw-rw----. 1 mysql mysql 9772 Aug 25 03:11 MYSQL03.err
  8. -rw-rw----. 1 mysql mysql 5 Aug 25 01:32 MYSQL03.pid
  9. -rw-rw----. 1 mysql mysql 5775 Aug 25 03:41 MYSQL03-slow.log
  10. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql_bin
  11. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000001
  12. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000002
  13. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000003
  14. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000004
  15. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000005
  16. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000006
  17. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000007
  18. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000008
  19. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000009
  20. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000010
  21. -rw-rw----. 1 mysql mysql 107 Aug 25 03:41 mysql-bin.000011
  22. -rw-rw----. 1 mysql mysql 319 Aug 25 03:41 mysql-bin.index
  23. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 performance_schema
  24. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:46 test
(3)删除 mysql-bin.000008 之前的日志
  1. mysql> show master status ;
  2. +------------------+----------+--------------+------------------+
  3. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  4. +------------------+----------+--------------+------------------+
  5. | mysql-bin.000011 | 107      |              |                  |
  6. +------------------+----------+--------------+------------------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> purge master logs to 'mysql-bin.000008';
  10. Query OK, 0 rows affected (0.00 sec)
(4)查看操作系统文件
    日志文件 mysql-bin.000008 之前的日志已经删除掉了
  1. [root@MYSQL03 mysql]# ll
  2. total 77992
  3. -rw-r--r--. 1 mysql mysql 69206016 Aug 25 01:32 ibdata1
  4. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile0
  5. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 01:32 ib_logfile1
  6. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql
  7. -rw-rw----. 1 mysql mysql 9772 Aug 25 03:11 MYSQL03.err
  8. -rw-rw----. 1 mysql mysql 5 Aug 25 01:32 MYSQL03.pid
  9. -rw-rw----. 1 mysql mysql 5775 Aug 25 03:41 MYSQL03-slow.log
  10. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql_bin
  11. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000008
  12. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000009
  13. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000010
  14. -rw-rw----. 1 mysql mysql 107 Aug 25 03:41 mysql-bin.000011
  15. -rw-rw----. 1 mysql mysql 116 Aug 25 03:45 mysql-bin.index
  16. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 performance_schema
  17. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:46 test

3. PURGE MASTER LOGS BEFORE '2015-08-25 05:09:21'

    删除 2015-08-25 0 5:09:21之前产生的所有日志
实验步骤
(1)查看数据库日志文件
  1. [root@MYSQL03 mysql]# ll
  2. total 77992
  3. -rw-r--r--. 1 mysql mysql 69206016 Aug 25 05:09 ibdata1
  4. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 05:09 ib_logfile0
  5. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 05:09 ib_logfile1
  6. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql
  7. -rw-rw----. 1 mysql mysql 9772 Aug 25 03:11 MYSQL03.err
  8. -rw-rw----. 1 mysql mysql 5 Aug 25 01:32 MYSQL03.pid
  9. -rw-rw----. 1 mysql mysql 5775 Aug 25 03:41 MYSQL03-slow.log
  10. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql_bin
  11. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000008
  12. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000009
  13. -rw-rw----. 1 mysql mysql 150 Aug 25 03:41 mysql-bin.000010
  14. -rw-rw----. 1 mysql mysql 665 Aug 25 05:09 mysql-bin.000011
  15. -rw-rw----. 1 mysql mysql 116 Aug 25 03:45 mysql-bin.index
  16. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 performance_schema
  17. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:46 test
(2)根据时间插入相关的数据
  1. mysql> insert into t1 values(6,'d');
  2. Query OK, 1 row affected (0.00 sec)

  3. mysql> select sysdate();
  4. +---------------------+
  5. | sysdate() |
  6. +---------------------+
  7. | 2015-08-25 05:02:10 |
  8. +---------------------+
  9. 1 row in set (0.00 sec)

  10. mysql> insert into t1 values(7,'e');
  11. Query OK, 1 row affected (0.00 sec)

  12. mysql> select sysdate();
  13. +---------------------+
  14. | sysdate() |
  15. +---------------------+
  16. | 2015-08-25 05:09:10 |
  17. +---------------------+
  18. 1 row in set (0.00 sec)

  19. mysql> insert into t1 values(8,'f');
  20. Query OK, 1 row affected (0.00 sec)

  21. mysql> select sysdate();
  22. +---------------------+
  23. | sysdate() |
  24. +---------------------+
  25. | 2015-08-25 05:09:23 |
  26. +---------------------+
  27. 1 row in set (0.00 sec)

  28. mysql> show master status;
  29. +------------------+----------+--------------+------------------+
  30. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  31. +------------------+----------+--------------+------------------+
  32. | mysql-bin.000011 | 665      |              |                  |
  33. +------------------+----------+--------------+------------------+
  34. 1 row in set (0.00 sec)
(3)解析日志文件 mysql-bin.000011
  1. [root@MYSQL03 mysql]# mysqlbinlog mysql-bin.000011
  2. /*!40019 SET @@session.max_insert_delayed_threads=0*/;
  3. /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
  4. DELIMITER /*!*/;
  5. # at 4
  6. #150825 3:41:18 server id 10 end_log_pos 107     Start: binlog v 4, server v 5.5.23-log created 150825 3:41:18
  7. # Warning: this binlog is either in use or was not closed properly.
  8. BINLOG '
  9. XnPbVQ8KAAAAZwAAAGsAAAABAAQANS41LjIzLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  10. AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
  11. '/*!*/;
  12. # at 107
  13. #150825 5:01:57 server id 10 end_log_pos 175     Query    thread_id=1    exec_time=0    error_code=0
  14. SET TIMESTAMP=1440450117/*!*/;
  15. SET @@session.pseudo_thread_id=1/*!*/;
  16. SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
  17. SET @@session.sql_mode=0/*!*/;
  18. SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
  19. /*!\C utf8 *//*!*/;
  20. SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
  21. SET @@session.lc_time_names=0/*!*/;
  22. SET @@session.collation_database=DEFAULT/*!*/;
  23. BEGIN
  24. /*!*/;
  25. # at 175
  26. #150825 5:01:57 server id 10 end_log_pos 266     Query    thread_id=1    exec_time=0    error_code=0
  27. use test/*!*/;
  28. SET TIMESTAMP=1440450117/*!*/;
  29. insert into t1 values(6,'d')
  30. /*!*/;
  31. # at 266
  32. #150825 5:01:57 server id 10 end_log_pos 293     Xid = 48
  33. COMMIT/*!*/;
  34. # at 293
  35. #150825 5:09:09 server id 10 end_log_pos 361     Query    thread_id=1    exec_time=0    error_code=0
  36. SET TIMESTAMP=1440450549/*!*/;
  37. BEGIN
  38. /*!*/;
  39. # at 361
  40. #150825 5:09:09 server id 10 end_log_pos 452     Query    thread_id=1    exec_time=0    error_code=0
  41. SET TIMESTAMP=1440450549/*!*/;
  42. insert into t1 values(7,'e')
  43. /*!*/;
  44. # at 452
  45. #150825 5:09:09 server id 10 end_log_pos 479     Xid = 50
  46. COMMIT/*!*/;
  47. # at 479
  48. #150825 5:09:21 server id 10 end_log_pos 547     Query    thread_id=1    exec_time=0    error_code=0
  49. SET TIMESTAMP=1440450561/*!*/;
  50. BEGIN
  51. /*!*/;
  52. # at 547
  53. #150825 5:09:21 server id 10 end_log_pos 638     Query    thread_id=1    exec_time=0    error_code=0
  54. SET TIMESTAMP=1440450561/*!*/;
  55. insert into t1 values(8,'f')
  56. /*!*/;
  57. # at 638
  58. #150825 5:09:21 server id 10 end_log_pos 665     Xid = 52
  59. COMMIT/*!*/;
  60. DELIMITER ;
  61. # End of log file
  62. ROLLBACK /* added by mysqlbinlog */;
  63. /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
(4) 删除  2015-08-25 05:09:10 之前的日志,即保留到语句 insert into t1 values(8,'f') 之后的日志
  1. mysql> purge master logs before '2015-08-25 05:09:10';
  2. Query OK, 0 rows affected (0.00 sec)

  3. mysql> show master status;
  4. +------------------+----------+--------------+------------------+
  5. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  6. +------------------+----------+--------------+------------------+
  7. | mysql-bin.000011 | 665 | | |
  8. +------------------+----------+--------------+------------------+
  9. 1 row in set (0.00 sec)
(5)查看数据库日志文件
    日志文件  mysql-bin.000011 之前的日志文件已经被删除
  1. [root@MYSQL03 mysql]# ll
  2. total 77980
  3. -rw-r--r--. 1 mysql mysql 69206016 Aug 25 05:09 ibdata1
  4. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 05:09 ib_logfile0
  5. -rw-r--r--. 1 mysql mysql 5242880 Aug 25 05:09 ib_logfile1
  6. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql
  7. -rw-rw----. 1 mysql mysql 9772 Aug 25 03:11 MYSQL03.err
  8. -rw-rw----. 1 mysql mysql 5 Aug 25 01:32 MYSQL03.pid
  9. -rw-rw----. 1 mysql mysql 126 Aug 25 01:24 MYSQL03-relay-bin.000001
  10. -rw-rw----. 1 mysql mysql 27 Aug 25 01:24 MYSQL03-relay-bin.index
  11. -rw-rw----. 1 mysql mysql 5775 Aug 25 03:41 MYSQL03-slow.log
  12. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 mysql_bin
  13. -rw-rw----. 1 mysql mysql 665 Aug 25 05:09 mysql-bin.000011
  14. -rw-rw----. 1 mysql mysql 29 Aug 25 05:19 mysql-bin.index
  15. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:37 performance_schema
  16. drwxr-xr-x. 2 mysql mysql 4096 Aug 24 08:46 test
(5)再次 解析日志文件  mysql-bin.000011
    发现 PURGE MASTER LOGS BEFORE 只是删除了指定之间所在日志文件之前的日志文件,及 mysql-bin.000011 之前的日志文件, 对 mysql-bin.000011 并没有进行截断处理
  1. [root@MYSQL03 mysql]# mysqlbinlog mysql-bin.000011
  2. /*!40019 SET @@session.max_insert_delayed_threads=0*/;
  3. /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
  4. DELIMITER /*!*/;
  5. # at 4
  6. #150825 3:41:18 server id 10 end_log_pos 107     Start: binlog v 4, server v 5.5.23-log created 150825 3:41:18
  7. # Warning: this binlog is either in use or was not closed properly.
  8. BINLOG '
  9. XnPbVQ8KAAAAZwAAAGsAAAABAAQANS41LjIzLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  10. AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
  11. '/*!*/;
  12. # at 107
  13. #150825 5:01:57 server id 10 end_log_pos 175     Query    thread_id=1    exec_time=0    error_code=0
  14. SET TIMESTAMP=1440450117/*!*/;
  15. SET @@session.pseudo_thread_id=1/*!*/;
  16. SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
  17. SET @@session.sql_mode=0/*!*/;
  18. SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
  19. /*!\C utf8 *//*!*/;
  20. SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
  21. SET @@session.lc_time_names=0/*!*/;
  22. SET @@session.collation_database=DEFAULT/*!*/;
  23. BEGIN
  24. /*!*/;
  25. # at 175
  26. #150825 5:01:57 server id 10 end_log_pos 266     Query    thread_id=1    exec_time=0    error_code=0
  27. use test/*!*/;
  28. SET TIMESTAMP=1440450117/*!*/;
  29. insert into t1 values(6,'d')
  30. /*!*/;
  31. # at 266
  32. #150825 5:01:57 server id 10 end_log_pos 293     Xid = 48
  33. COMMIT/*!*/;
  34. # at 293
  35. #150825 5:09:09 server id 10 end_log_pos 361     Query    thread_id=1    exec_time=0    error_code=0
  36. SET TIMESTAMP=1440450549/*!*/;
  37. BEGIN
  38. /*!*/;
  39. # at 361
  40. #150825 5:09:09 server id 10 end_log_pos 452     Query    thread_id=1    exec_time=0    error_code=0
  41. SET TIMESTAMP=1440450549/*!*/;
  42. insert into t1 values(7,'e')
  43. /*!*/;
  44. # at 452
  45. #150825 5:09:09 server id 10 end_log_pos 479     Xid = 50
  46. COMMIT/*!*/;
  47. # at 479
  48. #150825 5:09:21 server id 10 end_log_pos 547     Query    thread_id=1    exec_time=0    error_code=0
  49. SET TIMESTAMP=1440450561/*!*/;
  50. BEGIN
  51. /*!*/;
  52. # at 547
  53. #150825 5:09:21 server id 10 end_log_pos 638     Query    thread_id=1    exec_time=0    error_code=0
  54. SET TIMESTAMP=1440450561/*!*/;
  55. insert into t1 values(8,'f')
  56. /*!*/;
  57. # at 638
  58. #150825 5:09:21 server id 10 end_log_pos 665     Xid = 52
  59. COMMIT/*!*/;
  60. DELIMITER ;
  61. # End of log file
  62. ROLLBACK /* added by mysqlbinlog */;
  63. /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

4 . 参数 expire_logs_days

通过设置参数 expire_logs_days = 7  指定删除7天以前的日志文件


附录:
  1. mysql> help purge
  2. Name: 'PURGE BINARY LOGS'
  3. Description:
  4. Syntax:
  5. PURGE { BINARY | MASTER } LOGS
  6.     { TO 'log_name' | BEFORE datetime_expr }

  7. The binary log is a set of files that contain information about data
  8. modifications made by the MySQL server. The log consists of a set of
  9. binary log files, plus an index file (see
  10. http://dev.mysql.com/doc/refman/5.5/en/binary-log.html).

  11. The PURGE BINARY LOGS statement deletes all the binary log files listed
  12. in the log index file prior to the specified log file name or date.
  13. BINARY and MASTER are synonyms. Deleted log files also are removed from
  14. the list recorded in the index file, so that the given log file becomes
  15. the first in the list.

  16. This statement has no effect if the server was not started with the
  17. --log-bin option to enable binary logging.

  18. URL: http://dev.mysql.com/doc/refman/5.5/en/purge-binary-logs.html

  19. Examples:
  20. PURGE BINARY LOGS TO 'mysql-bin.010';
  21. PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';

  22. mysql> purge master logs before '2015-08-25 05:09:10';
  23. Query OK, 0 rows affected (0.00 sec)



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30150152/viewspace-1782076/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30150152/viewspace-1782076/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值