`
xiaolin0199
  • 浏览: 573219 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MySQL/定期清空日志

 
阅读更多

二进制日志清除

 

''' 主同步服务器产生的二进制日志会占据大量的磁盘空间,应定期删除过期的bin-log。 '''

 

通过PURGE MASTER LOGS删除

 

  如果您有一个在用的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是停止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

 

  要清理日志,需按照以下步骤:

写道
  1、在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
  2、使用SHOW MASTER LOGS获得主服务器上的一系列日志。
  3、在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
  4、制作您将要删除的所有日志的备份。(建议备份)
  5、清理所有的日志,但是不包括目标日志。

 

 

PURGE 语法

写道
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。

BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。

例如:

#删除binlog.000002之前的而不包含binlog.000002

mysql> PURGE MASTER LOGS TO 'binlog.000002';

#删除2011-05-28 1:35:00之前的
mysql> PURGE MASTER LOGS BEFORE '2011-05-28 1:35:00';

#清除3天前的binlog
mysql> PURGE MASTER LOGS BEFORE DATE_SUB(NOW( ), INTERVAL 3 DAY);

 

 

设置expire-logs-days参数

  

缺省expire-logs-days为30天。这里设为7天,可根据自己情况调整。

写道
[mysqld]
expire-logs-days = 7

 

 

参考: http://www.mike.org.cn/articles/mysql-master-slave-sync-conf-detail/    Mysql主从同步详解

 

分享到:
评论

相关推荐

    mysql binlog日志恢复【亲测有效,有例子实测】

    MySQL的二进制日志(binlog)是数据库系统中至关重要的组件,它记录了所有对MySQL数据库进行的改变操作,包括表结构的修改(如CREATE、ALTER TABLE等)和表数据的更新(INSERT、UPDATE、DELETE等)。binlog不记录...

    mysql批量清空表工具shell

    MySQL批量清空表工具Shell是一种高效的方法,尤其适用于需要快速清理数据库中多张表的数据,但不改变表结构的情况。这个工具是用Shell脚本语言编写的,可以在Linux或类Unix环境中运行,与MySQL数据库系统无缝对接。...

    清理Mysql general_log的方法总结

    MySQL的`general_log`日志是数据库系统用来记录所有SQL语句的一个功能,包括查询、更新、插入等操作。这个日志对于调试、性能分析和审计非常有用,但随着数据库的运行,`general_log`可能会变得非常大,占用大量磁盘...

    mysql正确安全清空在线慢查询日志slow log的流程分享

    至此,你已经成功且安全地清空了在线的MySQL慢查询日志。定期清理慢查询日志有助于保持数据库的健康运行,并防止日志文件过大导致的存储问题。同时,别忘了分析这些日志,找出可能导致性能问题的查询,并进行相应的...

    第16章MySQL日志管理.docx

    - 管理二进制日志包括删除旧的日志,可以使用`reset master`清空所有日志,或者`purge master logs to 'filename.number'`和`purge master logs before 'yyyy-mm-dd hh:mm:ss'`删除特定的日志。 2. **错误日志**:...

    linux常用脚本,实现获取一个指定区间内未被占用的随机端口号、查看日志大小、清理日志、离线自动安装mysql

    例如,`mv logfile.log logfile.log.bak`可以将日志文件重命名为备份,然后`> logfile.log`清空日志。还可以使用`logrotate`服务定期自动处理日志,以保持日志文件大小在可控范围内。 4. **离线自动安装MySQL**: ...

    缩小数据库日志文件

    这种方法虽然有效,但需要注意的是,频繁的人工填充和清空日志可能会对数据库性能造成短暂的影响,因此在实际操作时应谨慎考虑。 ### 总结 缩小数据库日志文件是数据库维护中的一项常规操作,对于优化数据库性能和...

    解决Mysql收缩事务日志和日志文件过大无法收缩问题

    1. 清空日志:使用`DUMP TRANSACTION`命令,如`exec('DUMP TRANSACTION 数据库名 WITH NO_LOG')`,这将清除事务日志中的事务,但不会实际删除日志空间。 2. 截断事务日志:通过`BACKUP LOG`命令,如`exec('BACKUP ...

    mysql mysqldump数据备份和增量备份

    - `--flush-logs` 在备份前清空日志,确保备份与旧日志分离。 - `--delete-master-logs` 在全量备份后删除旧的日志文件。 - `--single-transaction` 以一个事务的方式进行备份,保证数据的一致性。 增量备份则是在...

    网上找一个mysql的备份脚本

    - 清空并初始化日志文件,记录当前日期时间等信息。 2. **删除旧备份文件**: - 删除五天前的旧备份文件,并在日志文件中记录操作结果。 3. **检查新备份文件是否存在**: - 如果新备份文件已经存在,则记录...

    mysql主从复制环境搭建(Fedora20)

    - 连接到Master数据库,清空当前bin-log,以便从新的日志开始复制。执行`FLUSH TABLES WITH READ LOCK;`然后`SHOW MASTER STATUS;`来获取最新的bin-log文件名和位置。 6. **设置复制参数**: - 在从服务器上,你...

    MySQL 5.5.49(免费)

    6. **安全性和审计**:加强了权限控制,提供了更精细的用户访问管理,同时增加了审计日志功能,便于追踪数据库操作。 7. **存储过程和触发器的改进**:支持嵌套存储过程,增强了触发器的功能,使开发复杂的业务逻辑...

    mysql 找回误删表的数据方法(必看)

    MySQL 的二进制日志(binlog)记录了所有的 DDL(数据定义语言)和 DML(数据操纵语言)操作,包括创建表、删除表、插入、更新和删除数据等。以下是使用 `mysqlbinlog` 恢复数据的步骤: 1. **确定 binlog 文件**:...

    redhatlinux下mysql安装使用手册.pdf

    定期备份MySQL数据库非常重要,可以使用`mysqldump`命令创建数据库的SQL文件备份。恢复则反向执行该文件。 9. **性能优化** 对于生产环境,需要关注MySQL的性能优化,如调整配置文件`my.cnf`中的参数,合理设置...

    同步两台mysql数据库

    6. **日志记录与错误处理**:为了追踪同步过程和排查问题,良好的日志记录和错误处理机制是必要的。 7. **调度与自动化**:为了定期执行同步,可以集成Python的定时任务库(如`APScheduler`),配合系统服务(如`...

    MYSQL教程MYSQL教程MYSQL教程

    - 优化策略:定期备份,考虑增量和差异备份,结合日志管理。 通过学习以上内容,你将能够熟练地使用MySQL进行数据库管理和开发工作。配合提供的"MYSQL-refer.pdf"、"MySQL-note-v1.0.pdf"和"Mysql.txt"等资料,...

    数据库备份方案.pdf

    此方案采用两种完整备份方式:一是使用`mysqldump`工具,每隔两周执行一次,备份整个数据库并清空日志;二是每天使用`winrar`压缩`DATA`目录,提供快速恢复的备用备份,保留一个月的备份文件。完整备份能够恢复到...

    数据库删除日志

    - 定期执行日志备份,以便安全删除旧日志。 - 监控日志文件大小,避免过度增长。 - 在非业务高峰期进行日志清理,以减少对系统的影响。 - 遵循法规和内部政策,确保审计日志的适当保存期限。 5. **安全注意事项...

    MYSQL双向热备实战

    - 停止主机A上的MySQL服务,清空sms数据库的数据文件。 - 修改主机A的my.cnf配置文件,开启二进制日志,并设置server-id为1,启用binlog-do-db来指定需要备份的数据库sms。 2. 配置备机B: - 检查或创建my.cnf...

    MySQL读取Binlog日志常见的3种错误

    MySQL的二进制日志(Binlog)是数据库恢复和主从复制的重要组成部分,记录了所有改变数据库状态的语句。然而,在实际操作中,...在进行数据库操作时,定期备份、监控日志以及及时更新知识库是预防和应对错误的关键。

Global site tag (gtag.js) - Google Analytics