MySQL Binlog的介绍
binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中;
作用:MySQL的作用类似于Oracle的归档日志,可以用来查看数据库的变更历史(具体的时间点所有的SQL操作)、数据库增量备份和恢复(增量备份和基于时间点的恢复)、Mysql的复制(主主数据库的复制、主从数据库的复制)
二进制日志的信息:
文件位置:默认存放位置为数据库文件所在目录下
文件的命名方式: 名称为hostname-bin.xxxxx (重启mysql一次将会自动生成一个新的binlog)
状态的查看:mysql> show variables like '%log_bin%';
mysql> show variables like '%log_bin%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | ON | //表示当前已开启二进制日志//
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
3 rows in set (0.00 sec)
二进制日志的管理:
1、开启二进制日志配置
方法一、修改my.cnf参数文件,该方法需要重启
log-bin = mysql-bin #打开日志(主机需要打开),这个mysql-bin也可以自定义,这里也可以加上路径,如:/home/www/mysql_bin_log/mysql-bin
关闭二进制日志的方法:log-bin = mysql-bin注释掉即可
方法二、不重启修改二进制日志配置,该方法mysql的版本需要5.6以上
SET @@global.log_bin=1|0 (1为开启,0为关闭)
SET @@global.binlog_size=37268(单位bytes)
3、暂停二进制日志
SET sql_log_bin={0|1}
4、修改二进制日志的大小
修改my.cnf参数文件中的max_binlog_size的值;
说明:如果你的二进制文件的大小超过了max_binlog_size,它就是自动创建新的二进制文件。当然如果恰好在日志文件到达它的最大尺寸时写入了大的事务,那么日志文件还是会超过max_binlog_size的大小
5、进行二进制日志的切换,默认情况下当二进制日志写满了或者数据库重启了才会进行切换,但是也可以手工的进行切换的动作
mysql> flush logs;
6、其他参数:
binlog-cache-size=100m 设置二进制日志缓存大小
sync-binlog=N(每个N秒将缓存中的二进制日志记录写回硬盘,默认值为0。不过,你经常会陷入group commit函数与I/O之间二选一的矛盾。如果在replication环境中,由于考虑到耐久性与一致性,则需要设置1。同时,还需要设置innodb_flush_log_at_trx_commit=1以及innodb-support-xa=1默认开启;)
二进制日志的写入过程
查看二进制日志的内容:
binlog不能直接用文本的方式打开,mysql提供了相应的查看工具:mysqlbinlog,直接查看单个二进制日志文件:mysqlbinlog filename
例如: mysqlbinlog /data/mysql/mysql-bin.000001
当然也可以通过二进制日志完成数据库的恢复,具体的使用将在数据库的备份还原中介绍。
删除二进制日志
二进制日志会不断的增长,并产生多个文件。因此,需要制定备份计划和管理策略.无用的二进制日志要记得及时删除。
删除慢查询日志有三种方法:
1、操作系统命令直接删除
2、reset master
3、PURGE BINARY LOGS BEFORE '2014-07-09 12:40:26′;
总结:二进制日志用途广泛也很重要,大多少情况下会开启,对于业务操作频繁的数据库需要制定相应的备份策略和删除策略;
MySQL数据恢复--binlog http://www.linuxidc.com/Linux/2014-03/97907.htm
MySQL中binlog日记清理 http://www.linuxidc.com/Linux/2011-02/32017.htm
如何安全删除MySQL下的binlog日志 http://www.linuxidc.com/Linux/2013-06/86527.htm
MySQL--binlog日志恢复数据 http://www.linuxidc.com/Linux/2013-04/82368.htm
MySQL删除binlog日志及日志恢复数据的方法 http://www.linuxidc.com/Linux/2012-12/77072.htm
MySQL binlog三种格式介绍及分析 http://www.linuxidc.com/Linux/2012-11/74359.htm
MySQL 利用binlog增量备份+还原实例 http://www.linuxidc.com/Linux/2012-09/70815.htm
MySQL删除binlog日志及日志恢复数据 http://www.linuxidc.com/Linux/2012-08/67594.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/107095.htm
转载:
http://www.linuxidc.com/Linux/2014-09/107095.htm
分享到:
相关推荐
MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...
MySQL Binlog Digger 4.8.0 是一个专为MySQL数据库设计的强大的日志挖掘和分析工具,尤其适用于数据恢复场景。它采用图形用户界面,使得操作更加直观易用。该工具支持在线和离线两种模式的binlog分析,能够帮助用户...
MySQL的二进制日志(Binary Log,简称binlog)是数据库系统中非常重要的一个功能,主要用于数据恢复、数据同步以及审计。它记录了所有改变数据库状态的事务,包括INSERT、UPDATE、DELETE等操作,为数据库提供了事务...
MySQL的二进制日志(binlog)是数据库系统中至关重要的组件,它记录了所有对MySQL数据库进行的改变操作,包括表结构的修改(如CREATE、ALTER TABLE等)和表数据的更新(INSERT、UPDATE、DELETE等)。binlog不记录...
MySQL Binlog Digger 4.19安装包,mysql日志回滚、解析、挖掘、支持离线在线 支持解析全sql字段语句
赠送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 Digger基于图形界面,免安装的日志分析工具,能对在线binlog与离线binlog进行分析,在选定在线binlog或离线binlog日志后,可对数据库、表、binlog开始时间、binlog结束时间、误操作的重做类型进行信息...
MySQL Binlog Digger分析工具。其他人下载,需要积分太多,我只需要5个积分
MySQL Binlog Digger是一个免费的,且基于图形界面的binlog挖掘分析工具。它可以为数据恢复提供有力的参考依据,它可以对在线binlog与离线binlog进行挖掘分析,在设定过滤条件后便可以进行精确过滤,从而得到我们所...
MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...
【NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive】 Apache NiFi是一款强大的数据流处理工具,常用于构建复杂的数据集成解决方案。在本场景中,我们将探讨如何使用NiFi来实时监控MySQL数据库的binlog...
MySQL Binlog Digger基于图形界面,免安装的日志分析工具,能对在线binlog与离线binlog进行分析,在选定在线binlog或离线binlog日志后,可对数据库、表、binlog开始时间、binlog结束时间、误操作的重做类型进行信息...
mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据
MySQL的binlog(二进制日志)是数据库系统中至关重要的组件,它记录了所有对数据库进行修改的SQL语句,除了数据查询语句。binlog的主要功能在于支持数据库的主从复制和数据的增量恢复,确保数据的高可用性和一致性。...
MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...
开启mysql-binlog操作 binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句。语句以“事件”的形式保存,它描述数据更改。当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回...
本文档介绍了使用mysql的binlog机制同步数据到redis的方法。该方法通过模仿mysql的slave角色,从master获取数据库变化的数据,写入activeMQ,再同步到redis,实现数据同步的功能。 mysql-replication主程序 mysql-...
MySQL是世界上最流行的关系型数据库管理系统之一,而MySQL的binlog(二进制日志)是其核心特性之一,用于记录所有对数据库进行的更改操作。`mysql-binlog-connector-java` 是一个开源库,它允许Java应用程序实时读取...