mysql> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 30
DAY);
(清理30天前的二进制日志文件,如果主库在使用30天前的日志文件 会报错的)
修改my.cnf文件
【mysqld】
expire_logs_day=20;
重启数据库
mysql> help purge
Name: 'PURGE BINARY LOGS'
Description:
Syntax:
PURGE { BINARY | MASTER } LOGS
{ TO 'log_name' | BEFORE datetime_expr }
The binary log is a set of files that contain information about data
modifications made by the MySQL server. The log consists of a set of
binary log files, plus an index file (see
http://dev.mysql.com/doc/refman/5.1/en/binary-log.html).
The PURGE BINARY LOGS statement deletes all the binary log files listed
in the log index file prior to the specified log file name or date.
BINARY and MASTER are synonyms. Deleted log files also are removed from
the list recorded in the index file, so that the given log file becomes
the first in the list.
This statement has no effect if the server was not started with the
--log-bin option to enable binary logging.
URL: http://dev.mysql.com/doc/refman/5.1/en/purge-binary-logs.html
Examples:
PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';
1.
查找binlog
mysql> show binary logs;
+---------------+------------+
| Log_name | File_size |
+---------------+------------+
| binlog.000031 | 1078645043 |
| binlog.000032 | 1076374846 |
| binlog.000033 | 1079182704 |
| binlog.000034 | 511795531 |
| binlog.000035 | 125 |
| binlog.000036 | 11942121 |
| binlog.000037 | 125 |
| binlog.000038 | 146 |
| binlog.000039 | 106 |
| binlog.000040 | 64616 |
| binlog.000041 | 125 |
| binlog.000042 | 125 |
| binlog.000043 | 3875 |
| binlog.000044 | 386 |
| binlog.000045 | 125 |
| binlog.000046 | 125 |
| binlog.000047 | 125 |
| binlog.000048 | 2875 |
| binlog.000049 | 2081 |
| binlog.000050 | 125 |
| binlog.000051 | 125 |
| binlog.000052 | 125 |
| binlog.000053 | 62110 |
| binlog.000054 | 788661684 |
| binlog.000055 | 146 |
| binlog.000056 | 106 |
+---------------+------------+
2.
删除
bin-log
mysql> purge binary logs to 'binlog.000033';
Query OK, 0 rows affected (3.54 sec)
3.
查询结果
mysql> show
binlog events\G
mysql> show
binary logs;
1 row in set
(0.00 sec)
PURGE {MASTER | BINARY} LOGS TO
'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE
'date'
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
例如:
PURGE MASTER LOGS TO
'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-06-22
13:00:00';
清除
3
天前的
binlog
PURGE MASTER LOGS BEFORE DATE_SUB(
NOW( ), INTERVAL 3 DAY);
BEFORE
变量的
date
自变量可以为
'YYYY-MM-DD hh:mm:ss'
格式。
MASTER
和
BINARY
是同义词。
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1.
在每个从属服务器上,使用
SHOW SLAVE STATUS
来检查它正在读取哪个日志。
2.
使用
SHOW MASTER LOGS
获得主服务器上的一系列日志。
3.
在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
4.
制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
5.
清理所有的日志,但是不包括目标日志
分享到:
相关推荐
个人整理,mysql binlog 日志恢复
例如,在创建新表或更新现有表上的数据时,这些事件将存储在mysql binlog中,也就是MySQL数据库的二进制日志。 二进制日志在MySQL复制中非常有用,主服务器将数据从二进制日志发送到远程服务器。 当您在MySQL中执行...
基本概念 定义: 二进制... 如何启动: 通过 –log-bin=file选项可以启用 (更改my.ini文件) 日志位置 >>如果没有指定文件名,则Mysql使用hostname-bin文件. >>如果指定了相对路径,则假定该路径相对于数据目录 >>Mysql在
mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。可以使用mysqlbin命令查看二进制日志的内容。 binlog 的作用 用于数据库的主从复制及数据的增量恢复。 ...
二进制日志(binnary log)以事件形式记录了...主从复制:mysql replication在master端开启binlog,master把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 数据恢复:通过mysqlbinlog工具来恢复数据。
赠送Maven依赖信息文件:mysql-binlog-connector-java-0.21.0.pom; 包含翻译后的API文档:mysql-binlog-connector-java-0.21.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:...
Binlog 高性能C ++日志库,用于生成结构化的二进制日志。 BINLOG_INFO("Log anything! {}, {} or even {}", 1.2f, std::vector{3,4,5}, AdaptedStruct{1, "Foo"});动机请考虑以下来自应用程序的日志摘录,该摘录使用...
mysql 正确清理binlog日志的两种方法
基于Python实现用于解析和转换 MySQL 二进制日志(binlog)的工具源码
通过PolarDB-X CDC,PolarDB-X数据库可以提供与MySQL二进制日志完全兼容的二进制日志,可以 由 MySQL 二进制日志工具无缝使用。 并且可以通过MySQL复制协议扮演MySQL从站的角色。PolarDB-X CDC的核心功能包括:全局...
二进制日志的启动:配置参数log-bin[=name],如果不指定name,则默认二进制日志文件名为主机名,后缀名为二级制日志的序列号,所在路径为数据库所在目录。 以index为后缀的文件为二进制日志的索引文件,用来存储过往...
这是一份腾讯内部的技术文档,详细讲述了 MySQL 数据库启用二进制日志 binlog 的细节,非常有参考价值。前言:日志是把数据库的每一个变化都记载到一个专用的文件里,这种文件就叫做日志文件。Mysql默认只打开出错...
Mysql开启BinLog模式的配置文件,直接覆盖原文件即可。(前提是你的mysql安装在c盘默认路径)
通过binlog文件生成DML语句,回滚语句,支持日期、POS点、库、表过滤,SQL类型进行过滤
mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据
mysql-binlog-connector-java 注意:该存储库不再维护。 我建议迁移到 。 MySQL Binary Log连接器。 最初,项目是作为的分支开始的,但最终作为完整的重写而结束。 主要差异/特征: 自动binlog文件名/位置| GTID...
这个库试图在解析完整的二进制日志文件时与mysqlbinlog竞争,并且已经比go-mysql 、 python-mysql-replication或 Ruby 的mysql_binlog快几个数量级。 所有有趣的数据类型都可以使用 Serde 进行序列化,因此很容易与...
开启mysql-binlog操作 binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句。语句以“事件”的形式保存,它描述数据更改。当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回...