MySQL / 数据库

MySQL Binlog日志的清理方案

浅时光 · 9月20日 · 2020年 · 15200次已读

一、自动清理

当开启mysql数据库主从时,会产生大量如m文章来源(Source):https://www.dqzboy.comysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。我们就需要设置bi文章来源(Source):https://www.dqzboy.comnlog日志过期时间。

方式1:修改配置文件my.cnf

[[email protected] ~]# vim /etc/my.cnf     #修改expire_logs_days,x是自动删除的天数,一般将x设置为短点,如10
[mysqld]
...
expire_logs_days = x  #二进制日志自动删除的天数。默认值为0,表示“没有自动删除”

方式2:直接在数据库里修改

mysql> show variables like "%expire_logs_days%";
mysql> set global expire_logs_days = 10;
MySQL Binlog日志的清理方案-浅时光博客

二、手动清理

说明:清理之前一定要看下从库当前正在读取的文章来源(Source):https://www.dqzboy.com是哪个binlog文件,然后确定读取的文件后再进行手动清理,或者在进行清理binlog文件之前先把binlog文件进行备份。

[[email protected] ~]# mysql -uroot -p	#登入到从库查看当前读取的binlog
mysql> show slave status\G
Relay_Master_Log_File: master-bin.004337

[[email protected] ~]# mysql -uroot -p	#登入到主库进行清理
#查看正在写的binlog文件
mysql> show master logs;
mysql> show binary logs;
mysql> show variables like "%expire_logs_days%";

mysql> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 5 DAY);    #清除5天前的binlog日志文件

三、参数说明

1、expire_logs_days

本文中的 X 表示是你想要保留的天数。我推荐10个,但这取决于MySQL服务器的繁忙程度和日志文件文章来源(Source):https://www.dqzboy.com的增长速度。只要确保它比最慢的奴隶从你的主人复制数据要长。只是附带文章来源(Source):https://www.dqzboy.com说明一下:您知道无论如何都应该这样做,但是要确保备份了mysql数据库。在某些情况下,二进制日志可以用来恢复数据库;因此,备份可以确保在数据库服务器崩溃时能够恢复数据。

2、PURGE MASTER LOGS

删除指定的日志或日期文章来源(Source):https://www.dqzboy.com之前的日文章来源(Source):https://www.dqzboy.com志索引中的所有二进制日志。这些日志也会从文章来源(Source):https://www.dqzboy.com记录在日志索引文件中的清单中被删除MySQL BIN-LOG 日志,这样被给定的日志成为第一个。

示例:

> PURGE MASTER LOGS TO 'MySQL-bin.010';  //清除MySQL-bin.010日志
> PURGE MASTER LOGS BEFORE '2020-05-01 13:00:00';   //清除2020-05-01 13:00:00前binlog日志
> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 5 DAY);  //清除5天前binlog日志BEFORE,变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。

3、清Binlog时对从库的影响

如果你有一个活性的从服务器,该从服务器当前正在读取的binlog日志如果是你正在试图删除的日志之一,则本语句不会起文章来源(Source):https://www.dqzboy.com作用,而是会失败,并伴随一个错误。不过,如果从服务器是文章来源(Source):https://www.dqzboy.com休止的,并且你碰巧清理了其想要读取的日志之一,则从服务器启动后不能复制。当从服务器正在复制时,本语句可以安全运行。你不需要停止它们。

MySQL Binlog日志的清理方案-浅时光博客
0 条回应
    本站已安全运行: | 耗时 0.418 秒 | 查询 111 次 | 内存 18.51 MB