ITPub博客

首页 > 数据库 > MySQL > 管理二进制日志

管理二进制日志

原创 MySQL 作者:StevenBeijing 时间:2017-10-10 15:53:14 0 删除 编辑
使用参数自动清除二进制日志
 默认情况下,MySQL不会移除旧的不运行的二进制日志,expire_logs_days参数可以自动移除二进制日志,该参数默认值是0,意味着
不会自动移除二进制日志。给该参数赋大于0的值将会移除那些大于这个值的日志,以天为单位。

手动清除二进制日志
清除特定文件

点击(此处)折叠或打开

  1. mysql> purge binary logs to 'mysql-bin-3306.000005';
  2. Query OK, 0 rows affected (0.08 sec)
清除特定日志或时间

点击(此处)折叠或打开

  1. mysql> purge binary logs before '2017-09-25 12:30:00';
  2. Query OK, 0 rows affected (0.01 sec)
物理删除二进制日志
rm -rf mysql-bin-3306.000005

点击(此处)折叠或打开

  1. mysql> show master logs;
  2. +-----------------------+-----------+
  3. | Log_name              | File_size |
  4. +-----------------------+-----------+
  5. | mysql-bin-3306.000005 | 0         |
  6. | mysql-bin-3306.000006 | 604       |
  7. | mysql-bin-3306.000007 | 891       |
  8. | mysql-bin-3306.000008 | 346       |
  9. | mysql-bin-3306.000009 | 35946018  |
  10. +-----------------------+-----------+
  如果一个二进制日志被从文件系统直接删除,及时这个文件已经不在文件系统中,MySQL会在一个带有0字节的文件中显示一个指针。后续再次使用purge命令删除二进制日志时候,会有以下提示:

点击(此处)折叠或打开

  1. mysql> purge binary logs to 'mysql-bin-3306.000006';
  2. Query OK, 0 rows affected, 1 warning (0.02 sec)

  3. mysql> show warings \G
  4. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'warings' at line 1
  5. mysql> show master logs;
  6. +-----------------------+-----------+
  7. | Log_name              | File_size |
  8. +-----------------------+-----------+
  9. | mysql-bin-3306.000006 | 604       |
  10. | mysql-bin-3306.000007 | 891       |
  11. | mysql-bin-3306.000008 | 346       |
  12. | mysql-bin-3306.000009 | 35946018  |
  13. +-----------------------+-----------+
  14. 4 rows in set (0.00 sec)



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

请登录后发表评论 登录
全部评论

注册时间:2015-02-10

  • 博文量
    244
  • 访问量
    325275