`
paulowina
  • 浏览: 10168 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

mysql binlog

阅读更多
转载:http://storyxsj.iteye.com/blog/494355

Mysql 二进制日志


---------------基本概念
定义:
二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。
作用:
1。二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。
2。二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句。
不良影响:
运行服务器时若启用二进制日志则性能大约慢1%。

如何启动:
通过 --log-bin=file选项可以启用
(更改my.ini文件)
日志位置
>>如果没有指定文件名,则Mysql使用hostname-bin文件.
>>如果指定了相对路径,则假定该路径相对于数据目录
>>Mysql在文件名后添加了数字索引.所以该文件最后的形式为filename.number
如果你在日志名中提供了扩展名(例如,--log-bin=file_name.extension),则扩展名被悄悄除掉并忽略。
更换策略:
使用索引来循环文件,在以下条件将循环至下一个索引
1。服务器重启
2。服务器被更新
3。日志到达了最大日志长度 max_binlog_size
4。日志被刷新 mysql> flush logs;

工具介绍:
shell>>mysqlbinlog [option] binlogFile> newfile
如: D:\mysql\log>mysqlbinlog  binlog.000001 > 1.txt
一个例子:
log-bin="D:/mysql/log/binlog"  那么,在该文件夹下就会有文件D:/mysql/log/binlog.000001等


---------------常见问题
1.如何清除binlog

>>>使用下面的两个命令
PURGE {MASTER | BINARY} LOGS TO 'log_name' //log_name不会被清除
PURGE {MASTER | BINARY} LOGS BEFORE 'date' //date不会被清除

实例如下:
mysql> purge master logs to 'binlog.000004';
Query OK, 0 rows affected (0.01 sec)

mysql> purge master logs before '2009-09-22 00:00:00';
Query OK, 0 rows affected (0.05 sec)

>>>或使用命令
RESET MASTER

删除之前所有的binlog,并重新生成新的binlog
后缀从000001开始

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



2.记录到二进制日志知的内容配置
binlog-do-db=sales 只记录sales库
binlog-ignore-db=sales 除sales库不记录,其他都记录

但是如果在操作数据库之前,不使用use $dbname 那么所有的SQL都不会记录
如果使用了use $dbname,那么判断规则取决于这里的$dbname,而不是SQL中操作的库



3.二进制日志不准确的处理
默认情况下,并不是每次写入时都将二进制日志与硬盘同步。因此如果操作系统或机器(不仅仅是MySQL服务器)崩溃,有可能二进制日志中最后的语句丢失。
要想防止这种情况,你可以使用sync_binlog全局变量(1是最安全的值,但也是最慢的),使二进制日志在每N次二进制日志写入后与硬盘同步。
即使sync_binlog设置为1,出现崩溃时,也有可能表内容和二进制日志内容之间存在不一致性。

如果崩溃恢复时MySQL服务器发现二进制日志变短了(即至少缺少一个成功提交的InnoDB事务),
如果sync_binlog =1并且硬盘/文件系统的确能根据需要进行同步(有些不需要)则不会发生,则输出错误消息 ("二进制日志<名>比期望的要小")。
在这种情况下,二进制日志不准确,复制应从主服务器的数据快照开始。
分享到:
评论

相关推荐

    MySQL Binlog Digger 4.28 + Mysql Binlog分析 + 数据库

    MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...

    MySQL Binlog Digger 4.8.0

    MySQL Binlog Digger 4.8.0 是一个专为MySQL数据库设计的强大的日志挖掘和分析工具,尤其适用于数据恢复场景。它采用图形用户界面,使得操作更加直观易用。该工具支持在线和离线两种模式的binlog分析,能够帮助用户...

    Mysql binlog查看工具

    MySQL的二进制日志(Binary Log,简称binlog)是数据库系统中非常重要的一个功能,主要用于数据恢复、数据同步以及审计。它记录了所有改变数据库状态的事务,包括INSERT、UPDATE、DELETE等操作,为数据库提供了事务...

    MySQL Binlog Digger 4.19

    MySQL Binlog Digger 4.19安装包,mysql日志回滚、解析、挖掘、支持离线在线 支持解析全sql字段语句

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

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

    MySQL Binlog Digger 4.9.rar

    MySQL Binlog Digger基于图形界面,免安装的日志分析工具,能对在线binlog与离线binlog进行分析,在选定在线binlog或离线binlog日志后,可对数据库、表、binlog开始时间、binlog结束时间、误操作的重做类型进行信息...

    8、NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive

    【NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive】 Apache NiFi是一款强大的数据流处理工具,常用于构建复杂的数据集成解决方案。在本场景中,我们将探讨如何使用NiFi来实时监控MySQL数据库的binlog...

    MySQL Binlog Digger 4.10

    MySQL Binlog Digger基于图形界面,免安装的日志分析工具,能对在线binlog与离线binlog进行分析,在选定在线binlog或离线binlog日志后,可对数据库、表、binlog开始时间、binlog结束时间、误操作的重做类型进行信息...

    MySQL Binlog Digger 4.17.zip

    MySQL Binlog Digger是一个免费的,且基于图形界面的binlog挖掘分析工具。它可以为数据恢复提供有力的参考依据,它可以对在线binlog与离线binlog进行挖掘分析,在设定过滤条件后便可以进行精确过滤,从而得到我们所...

    MySQL Binlog Digger 4.20 Setup.exe

    MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...

    MySQL Binlog Digger 4.18 Setup.exe

    MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...

    基于Go语言的MySQL Binlog Exporter设计源码,实现Prometheus监控MySQL Binlog事件及主从同步监控

    该项目采用Go语言开发,利用MySQL的Binlog(Binary Log)功能,实现了一个MySQL Binlog Exporter,其核心功能是将MySQL数据库中的二进制日志(Binlog)事件转换为Prometheus能够识别和监控的格式。通过这种方式,...

    MySQL – binlog日志简介及设置

    MySQL的binlog(二进制日志)是数据库系统中至关重要的组件,它记录了所有对数据库进行修改的SQL语句,除了数据查询语句。binlog的主要功能在于支持数据库的主从复制和数据的增量恢复,确保数据的高可用性和一致性。...

    mysql-binlog-connector-java-0.21.0-API文档-中文版.zip

    赠送jar包:mysql-binlog-connector-java-0.21.0.jar; 赠送原API文档:mysql-binlog-connector-java-0.21.0-javadoc.jar; 赠送源代码:mysql-binlog-connector-java-0.21.0-sources.jar; 赠送Maven依赖信息文件:...

    MySQL-Binlog-Digger4.9.exe.7z

    MySQL Binlog Digger分析工具。其他人下载,需要积分太多,我只需要5个积分

    MySQL Binlog Digger 4.4.zip

    MySQL Binlog Digger是一款强大的工具,专用于解析和探索MySQL的二进制日志(Binary Log)。二进制日志是MySQL数据库系统中记录所有更改数据的事件序列,这对于数据恢复、数据同步以及数据库审计至关重要。MySQL ...

    基于C#语言的MySQL BinLog同步库设计源码

    本文介绍的C#语言实现的MySQL BinLog同步库,提供了一个强大的工具,帮助开发人员有效地从MySQL数据库中读取二进制日志(BinLog),实现数据的实时同步与备份。BinLog同步库的设计源码包含了多种文件类型,比如C#...

    MySQL binlog闪回工具

    MySQL binlog闪回工具是MySQL数据库系统中用于数据恢复和时间点恢复的重要工具。它基于MySQL的二进制日志(Binary Log,简称binlog)功能,能够帮助用户在发生错误或者数据丢失的情况下,通过binlog回溯到任意一个...

Global site tag (gtag.js) - Google Analytics