管理二进制日志

MySQL的二进制日志管理包括使用expire_logs_days参数自动清除和通过purge命令手动清除。自动清除可通过设置expire_logs_days参数大于0来实现,手动清除则可以指定具体文件或时间点。直接物理删除二进制日志后,MySQL可能仍会显示已删除日志的记录,使用purge命令时需注意。
使用参数自动清除二进制日志
 默认情况下,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)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值