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

MySQL Binlog的介绍的更多相关文章

  1. Mysql Binlog 三种格式介绍及分析

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  2. Mysql Binlog三种格式详细介绍

    一.MySQL Binlog格式介绍 mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 查看binlog的格式的脚本: 二.binlog 的不同模式有什么区别 ...

  3. Mysql Binlog三种格式介绍及分析【转】

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  4. Mysql Binlog日志详解

    一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在 ...

  5. MySQL BinLog Server 搭建实战

    一.MySQL Binlog server 介绍 MySQL Binlog Server: 它使用 mysqlbinlog 命令以 daemon 进程的方式模拟一个 slave 的 IO 线程与主库连 ...

  6. MySQL Binlog 介绍

    Binlog 简介 MySQL中一般有以下几种日志: 日志类型 写入日志的信息 错误日志 记录在启动,运行或停止mysqld时遇到的问题 通用查询日志 记录建立的客户端连接和执行的语句 二进制日志 记 ...

  7. MySQL Binlog三种格式介绍及分析

    Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中. 优点:不需要记录每一行的变化,减 ...

  8. Mysql Binlog日志文件介绍

    一.Binlog简介 官方文档参考 https://dev.mysql.com/doc/refman/5.5/en/binary-log.html Binlog(Binary Log) 指数据库的表创 ...

  9. Mysql binlog

    理解Mysql binlog 日志的三种模式   本文介绍下,mysql中binlog日志的三种模式,了解了各种模式的不同之处,才能更好地应用.有需要的朋友建议参考下.   一,模式1 Row Lev ...

随机推荐

  1. leetcode Same Tree python

    # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...

  2. Java学习之javassist

    1.读取和输出字节码 ClassPool pool = ClassPool.getDefault(); //会从classpath中查询该类 CtClass cc = pool.get("t ...

  3. PHP中字符串补齐为定长

    方法一 for ($i=0; $i<100; $i++) { $index = sprintf('%04d', $i); echo $index.'<br />'; } 方法二 fo ...

  4. Scala类型参数中协变(+)、逆变(-)、类型上界(<:)和类型下界(>:)的使用

    转自:http://fineqtbull.iteye.com/blog/477994#bc2364938 有位je上的同学来短信向我问起了Scala类型参数中协变.逆变.类型上界和类型下界的使用方法和 ...

  5. Sencha Touch 之 Ext.fly方法的使用

    Ext.fly方法是Ext.js 4中的flyweight技术,该技术在浏览器中为使用Ext.fly方法的元素节点开辟一块内存,下一次使用Ext.fly方法的元素节点将占据同一块内存,即覆盖前一次的元 ...

  6. SQL Server 查看数据页面

    第一步: 找到表的第一页dbcc ind(db_name,table_name,-1); 例子. dbcc ind(studio,person,-1);# pageFID  是文件号   pagePI ...

  7. ArcEngine 9.3 学习笔记(六):图层符号化(COlorRamp,MarkerSymbol,LineSymbol,FillSymbol,TextSymbol,3DChartSymbol,使用ServerStyle符号库,FeatureRender,RasterRender)

    第四章 图层符号化 AE9.3 提供了SymbologyControl控件,用于显示ARCGIS符号库中的符号. 组件库中的组件对象分为Color(颜色),Symbol(符号),Render(渲染)三 ...

  8. 简易对象垃圾回收框架 for Delphi

    (一).缘起 1.1 我的一个出错程序 程序名称:呼叫处理模块的压力测试工具,分为客户端和服务端. 开发工具:Delhpi 5 相关技术:客户端通过与服务端建立Socket连接来模拟一组电话机的拨入. ...

  9. uva 825 - Walking on the Safe Side(dp)

    题目链接:825 - Walking on the Safe Side 题目大意:给出n,m,现在给出n行数据, 每行有k(k为不定值)个数字, 第一个数字代表行数, 后面k - 1个数代表当前行的这 ...

  10. swift3.0 扩展、协议(4)

    扩展和协议是swift中的两个特性,用于对已有的类型进行扩展和修改. 扩展(extension) 向已经存在的类型添加新的功能(属性.方法.下标脚本等等),扩展使用extension关键字定义,语法 ...