阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

详解:Mysql binlog 安全删除实例

1次阅读
没有评论

共计 1258 个字符,预计需要花费 4 分钟才能阅读完成。

如果你的 Mysql 搭建了主从同步 , 或者数据库开启了 log-bin 日志 , 那么随着时间的推移 , 你的数据库 data 目录下会产生大量的日志文件

shell > ll /usr/local/mysql/data/ # 如下 
-rw-rw----. 1 mysql mysql 63278 9 月 11 02:03 mysql-bin.000001 
-rw-rw----. 1 mysql mysql 1096670 9 月 11 02:03 mysql-bin.000002 
-rw-rw----. 1 mysql mysql 133 9 月 11 02:04 mysql-bin.000003 
-rw-rw----. 1 mysql mysql 133 9 月 12 02:00 mysql-bin.000004 
-rw-rw----. 1 mysql mysql 271 9 月 12 18:25 mysql-bin.000005 
-rw-rw----. 1 mysql mysql 133 9 月 12 18:55 mysql-bin.000006 
-rw-rw----. 1 mysql mysql 133 9 月 12 19:48 mysql-bin.000007 
-rw-rw----. 1 mysql mysql 133 9 月 12 21:21 mysql-bin.000008 
-rw-rw----. 1 mysql mysql 321 11 月 18 17:30 mysql-bin.000009

由于我的是测试环境 , 所以文件还很小 , 生产环境中这些文件如果不做处理的话 , 甚至会撑爆你的磁盘

下面来介绍几种解决方法:

~~> 如果你的数据库没有搭建主从同步这样的服务 , binlog 日志也不用的情况下 , 你可以将 /etc/my.cnf 文件下面行删除或注释掉

log-bin=mysql-bin
~~> 如果你需要这样的文件 , 那么建议你在主配置文件 /etc/my.cnf 中添加如下行 , 来限制 binlog 日志文件存在时间 , 过期自动删除

expire_logs_days = 7 # 只保留 7 天的日志文件
~~> 如果你直接得到一台服务器 , 上面的 binlog 日志已经影响到了磁盘空间 , 那么你将使用下面命令清除

mysql> reset master; # 清空所有 binlog 文件 

如果你的得到的服务器 , mysql 还做了主从同步 , 那么上面的命令就不适合你了 , 因为 binlog 文件删除过多的话 , 会导致数据不同步

mysql> show slave status\G # 你首先要来 slave 上查看从库读 binlog 到了哪里 
Master_Log_File: mysql-bin.000009 # 我们可以看到是 mysql-bin.000009

mysql> purge master logs to 'mysql-bin.000009'; # 我们可以在 master 中执行这条指令 , 将 binlog 文件删除至 mysql-bin.000009 前

mysql> purge master logs before '2014-11-18 00:00:00'; # 将 binlog 文件删除至此日期前 

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-12-28发表,共计1258字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中