`

mysql删除查看二进制日志

    博客分类:
  • db
阅读更多
来源于:http://www.livingelsewhere.net/2011/03/25/purge-view-binlog/

删除

PURGE {MASTER | BINARY} LOGS TO 'binlog-name';
删除 binlog-name 编号之前所有的日志.

PURGE {MASTER | BINARY} LOGS BEFORE 'date';
除当前使用日志外, 如果其他日志最后更新时间是小于 date, 则会被删除. 


例子

mysql> PURGE MASTER LOGS TO 'mysql-bin.000003';
Query OK, 0 rows affected (0.01 sec)

删除 000003 之前所有的日志(000003 不会被删除).
	
mysql> PURGE MASTER LOGS BEFORE '2011-03-25 23:59:59';
Query OK, 0 rows affected (0.05 sec)


expire_logs_days
MySQL 可以根據 expire_logs_days 的設置自動清除日誌。該值默認為 0, 即不會自動清除。可能的值為 0-99.
配置文件中設置
[mysqld]
expire_logs_days=1

命令端設置
mysql> SET GLOBAL expire_logs_days=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> SHOW VARIABLES LIKE 'expire%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 1     |
+------------------+-------+
1 row in set (0.00 sec)


The number of days for automatic binary log file removal. The default is 0, which means “no automatic removal.” Possible removals happen at startup and when the binary log is flushed. Log flushing occurs as indicated in

清空二进制日志
mysql> RESET MASTER

该命令会删除之前所有的 binlog, 并重新生成新的 binlog, 后缀又会从 000001 开始. 但如果该库为主库, 且有连接从库, 而从库正在读取试图删除的日志之一,
则本语句不会起作用, 而是会失败, 并伴随一个错误. 不过, 如果从库没有连接主库, 而又删除了从库读取的日志, 则从库启动后不能复制. 当从库正在复制时, 本语句可以安全运行, 不需要停止它们.

查看当前二进制日志
	
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000009 |      180 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)


更新二进制
mysql> FLUSH LOGS;


查看二进制日志数目
mysql> SHOW MASTER LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |       117 |
| mysql-bin.000002 |       117 |
| mysql-bin.000003 |      1181 |
| mysql-bin.000004 |    491718 |
| mysql-bin.000005 |   2543824 |
| mysql-bin.000006 |   8032840 |
+------------------+-----------+
16 rows in set (0.01 sec)

列出所有的日志及其大小



查看 events
mysql> SHOW BINLOG EVENTS;



MySQL 命令终端查看当前日志中记录的日志
mysqlbinlog
[root@localhost ~]# mysqlbinlog  /usr/local/mysql/var/mysql-bin.000001


查看二进制文件 mysql-bin.000001 中记录的 DML 和 DLL.

mysqlbinlog 有用参数

  • -d, --database=dbname 列出查看的数据库
  • --start-datetime='2011-03-25 00:00:00' 查看发生在该指定时间之后的 events.
  • --stop-datetime='2011-03-25 23:59:59' 查看发生在该指定时间之前的 events.
  • --start-position=10 查看该指定偏移点之后的 events.
  • --stop-position=100 查看该指定偏移点之前的 events.
  • --set-charset=utf8 在输出的 events 之前添加上 “SET NAMES utf8″.


基于时间
[root@localhost ~]# mysqlbinlog --start-datetime='2011-03-25 00:00:0' --stop-datetime='2011-03-25 23:59:59' --database=test  /usr/local/mysql/var/mysql-bin.000001 > /tmp/1.log> /tmp/1.log 

将其重定向到 1.log, 更便于查看.


基于偏移量
	
[root@localhost ~]# mysqlbinlog --start-position=98 --stop-position=344 --database=test  /usr/local/mysql/var/mysql-bin.000001 > /tmp/1.log


分享到:
评论

相关推荐

    详解如何通过Mysql的二进制日志恢复数据库数据

    所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据。 系统环境: 操作系统:CentOS 6.5 X64 (虚拟机); WEB服务:PHP+Mysql+apache; 网站:为方便,直接在本地用蝉知系统搭建一个...

    Centos7实现MySQL基于日志还原数据的示例代码

    Binlog日志,即二进制日志文件,用于记录用户对数据库操作的SQL语句信息,当发生数据误删除的时候我们可以通过binlog日志来还原已经删除的数据,还原数据的方法分为传统二进制文件还原数据和基于GTID的二进制文件...

    mysql镜像备份mysql镜像备份

    C此命令非常小心,删除主数据库没用的二进制日志文件。如果误删除,那么从库就没有办法自动更新了。 change master; 从服务器上修改参数使用。 如果数据库表是myisam类型,并且权限够 grant replication slave,...

    MySQL执行delete误删除数据恢复

    使用事务日志:MySQL 的二进制日志(binlog)记录了数据库的所有变更操作,包括删除操作。你可以通过分析这些日志,找到误删数据的时间点和具体操作,然后通过回滚或者手动重放这些操作来进行数据恢复。 数据恢复...

    MySql 5.1 参考手册.chm

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MYSQL日志与备份还原问题详解

    二、二进制日志 又称BINLOG,记录所有的DDL语句和DML语句,不包括查询语句。这个日志不仅非常重要,而且作为开发人员也非常喜欢这个日志。从它的定义可以看出,这个日志记录了所有会改变表结构和表数据的事件,所以...

    MySQL 5.1中文手冊

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MySQL 5.1参考手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

    MySQL 5.1官方简体中文参考手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    详解MySQL数据库设置主从同步的方法

     1、主服务器(master)将变更事件(更新、删除、表结构改变等等)写入二进制日志(master log)。  2、从服务器(slave)的IO线程从主服务器(binlog dump线程)获取二进制日志,并在本地保存一份自己的二进制日志(relay ...

    MySQL 5.1参考手册 (中文版)

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-...

    MySQL 5.1参考手册中文版

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

    简单整理MySQL的日志操作命令

    3.看二进制日志文件用MySQLbinlog shell>MySQLbinlog mail-bin.000001 或者 shell>MySQLbinlog mail-bin.000001 | tail 4.正确删除MySQL BIN-LOG 日志实操 在mysql中会生大量的如mysq-bin.000001这类日志文件了...

    MySQL中的binlog相关命令和恢复技巧

    reset master 删除所有的二进制日志flush logs 产生一个新的binlog日志文件 show master logs; 或者 show binary logs; 查看二进制文件列表和文件大小 代码如下:./mysqlbinlog –start-datetime=”2012-05-21 15:30...

    自救措施:MySQL删库or删表or误删数据

    mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。 目录准备工作删除某条数据删除数据表删除数据库 准备工作 1.首先确认数据库是否已开启binlog。 show variables...

    MYSQL中文手册

    8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

    mysql5.1中文手册

    mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. ...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    07-MySQL服务二进制日志的3种工作模式配置方法实战 第十部-老男孩MySQL常用引擎及优缺点-应用场景-调优详解(14节) 01-MySQL服务存储引擎介绍 02-MySQL服务存储引擎体系结构 03-MySQL服务MyISAM引擎介绍及磁盘文件...

    MySQL主从复制的原理及配置方法(比较详细)

    MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新。 将主...

Global site tag (gtag.js) - Google Analytics