我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql的binlog安全删除

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql的binlog安全删除

 1.手动清除binlog文件    

        理论上,应该在配置文件/etc/my.cnf中加上binlog过期时间的配置项,expire_logs_days = 10.但是如果没有加这一项,随着产生越来越多的binlog,磁盘被吃掉了不少。可以直接删除binlog文件,但是可以通过mysql提供的工具来删除更安全。因为purge会更新mysql-bin.index中的条目,而直接删除的话,mysql-bin.index文件不会更新。mysql-bin.index的作用是加快查找binlog文件的速度。

       先help一下吧mysql的binlog安全删除:  

 mysql> help purge
 Name: 'PURGE MASTER LOGS'
 Description:
 Syntax:
 PURGE {MASTER | BINARY} LOGS TO 'log_name'
 PURGE {MASTER | BINARY} LOGS BEFORE 'date'

 Deletes all the binary logs listed in the log index prior to the
 specified log or date. The logs also are removed from the list recorded
 in the log index file, so that the given log becomes the first.

 This statement has no effect if the --log-bin option has not been
 enabled.

 URL: http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html

 Examples:
 PURGE MASTER LOGS TO 'mysql-bin.010';
 PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';

 两种方法都可用。第一个是删除至某一个文件为止,第二个是删除到某个日期为止。

 比如我们删除2017-05-31之前的log,可以这样

 mysql>PURGE MASTER LOGS BEFORE '2017-05-31 00:00:00';

2.设置expire_logs_days

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

      此方法需要重启mysql,附录有关于expire_logs_days的英文说明

      当然也可以不重启mysql,开启mysql主从,直接在mysql里设置expire_logs_days

   > show binary logs;
  > show variables like '%log%';
  > set global expire_logs_days = 10;

需要注意的是:最好到slave上面去看下当前同步到那个binlog文件了,用show slave status查看。否则,master上删多了的话,就造成slave缺失日志文件而导致数据不一致了。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql的binlog安全删除

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL安全删除binlog日志的详细步骤

本指南详细介绍了安全删除MySQLbinlog日志的步骤。首先确定需要删除的文件,然后停用binlog、刷新缓存并执行删除操作。最后,重新启用binlog。注意事项包括定期备份数据、删除不需要的文件并加密binlog。最佳做法涉及自动修剪、监控和保护binlog。遵循这些步骤可降低数据泄露风险并维护MySQL服务器的安全。
MySQL安全删除binlog日志的详细步骤
2024-04-02

mysql怎么删除binlog日志

要删除MySQL的binlog日志,可以使用以下两种方法:使用PURGE BINARY LOGS命令:PURGE BINARY LOGS TO 'mysql-bin.010';这将删除所有比指定日志文件旧的二进制日志文件
mysql怎么删除binlog日志
2024-04-09

mysql删除binlog启动不了怎么解决

如果MySQL删除binlog后无法启动,可能是由于删除了必要的binlog文件导致的问题。以下是解决方法:恢复删除的binlog文件:尝试找回或者从备份中恢复删除的binlog文件。如果找不回,可以考虑重新生成这些binlog文件。指定新
mysql删除binlog启动不了怎么解决
2024-04-09

Mysql刪除binlog的方法

binlog会因为数据库的不断运行而越来越大 ,当硬碟空间被占据越大时,可能会导致访问速度变慢,若是完全被占满时,就会导致服务卡死,就遇过服务状态正常,但确无法登入,连重启也无法!因为磁碟撑爆了。 binlog文件不是直接rm删除就解决了
2023-08-16

mysql binlog日志自动清理及手动删除

当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000
2023-01-13

【MYSQL】binlog安全清理的两种方法

通常在交付MYSQL数据库前会将日志目录与数据文件分开,为其单独设立一个文件系统,这样便于掌握日志与数据的空间使用情况。如果不是业务突然增长,binlog会按照默认设置的过期时间自动被清理,但是有时候业务量增长是很突然的,比如上线了一个
2023-08-22

在Windows中安全删除硬件

要在Windows中安全删除硬件,您可以按照以下步骤操作:1. 确保您已保存并关闭所有与该硬件相关的文件和程序。2. 单击系统托盘中的“箭头”图标,展开可用的通知区域图标。3. 在通知区域图标中,找到并单击“安全删除硬件”图标。该图标通常显
2023-09-08

编程热搜

目录