(4.5)mysql备份还原——深入解析二进制日志(binlog)

关键词:二进制日志,binlog日志

0、建议

  (1)不建议随便去修改binlog格式(数据库级别)

  (2)binlog日志的清理

    【2.1】过期日志天数:show variables like 'expire_logs_days';

    【2.2】手工切换成新的日志文件:flush log;

  (3)手工直接清除:purge binary log to 'bin-log.00003'     详细参考:https://www.cnblogs.com/gered/p/10471673.html

  (4)全清reset master;

1、binlog二进制日志简介

  这个文件记录了mysql数据库所有的dml,ddl语句事件(不包含select)。记录增删改,也可以记录SQL语句及行记录变化,还可以记录这些操作事件;

  三种日志的区别:

  (1)general log:记录数据库里的所有SQL操作记录

  (2)redo log:只记录innodb存储引擎的修改日志

  (3)binlog:只记录server层面内部的修改情况。--select /show 不记录

2、开启binlog二进制日志有什么好处?

  (1)mysql主从复制,通过binlog实现数据复制

  (2)数据恢复:可以基于时间点恢复,以及根据其进行增量与差异备份

3、mysql binlog的三种工作模式

 binlog_format

【3.1】row level(默认级别:mysql5.7.6之后+8.0)

  日志中记录每一行数据修改的情况;

  (1)有点:可以更方便查看每一条数据修改的细节  (2)缺点:数据量比较大

  使用场景:希望数据最安全,复制强一致。

【3.2】statement level(默认级别:Mysql5.7.6之前)

  记录每一条修改的SQL

  (1)优点:解决了数据量比较大的问题  (2)缺点:容易出现主从复制不一致

  使用场景:使用mysql的功能比较少,又不使用存储过程/触发器/函数

【3.3】mixed(混合模式)

  结合 row level 与statement level的优点

  一般情况下都使用statement,但是如果隔离级别设置为RC,那么一般会使用row

  不建议使用,还不如使用row level

4、配置mysql binlog二进制日志

【4.1】查看
show variables like '%log_bin%';
show variables like '%binlog%';
show variables like '%server%'; 【4.2】参数配置
[mysqld]
server_id= #服务ID,主从必须不一致。(建议数字:ip+端口) 5.7.3以后版本,必须加
#目录必须存在且授权好,binlog为索引文件,实际文件会自动根据索引文件建立如binlog.
log_bin=/mysql/log//binlog
log_bin_index=/mysql/log//binlog.index   #不设置的话,会根据log_bin值名称自动生成binlog.index
binlog_format='row' #(row,statement,mixed) #3种模式
binlog_rows_query_log_events=on #打开才能查看详细记录
expire_logs_days=10 #表示自动删除10天以前的日志
max_binlog_size=100M #表示单个二进制文件的最大值为100M,如果有大事务可能会超出最大值
binlog_row_image=full #(full,minimal,noblob),分别表示binlog中内容全记录,只记录被操作的,和不记录二进制

经典概念参考:http://www.zsythink.net/archives/1286#comments

(4.5)mysql备份还原——深入解析二进制日志(1)binlog的3种工作模式与配置的更多相关文章

  1. (4.7)mysql备份还原——深入解析二进制日志(3)binlog的三种日志记录模式详解

    关键词:binlog模式,binlog,二进制日志,binlog日志 目录概述 0.binlog概述 查看binlog日志参数设置: show variables like '%log_bin%'; ...

  2. (4.6)mysql备份还原——深入解析二进制日志(2)binlog参数配置解析

    关键词:binlog配置,binlog参数,二进制日志配置,二进制文件参数配置 关键词:binlog缓存,binlog 刷新 0.bin写入流程 写binlog流程如下:# 数据操作buffer po ...

  3. mysql导出csv/sql/newTable/txt的方法,mysql的导入txt/sql方法...mysql备份恢复mysqlhotcopy、二进制日志binlog、直接备份文件、备份策略、灾难恢复.....................................................

    mysql备份表结构和数据 方法一. Create table new_table_nam备份到新表:MYSQL不支持: Select * Into new_table_name from old_t ...

  4. MySQL二进制日志文件Binlog的三种格式以及对应的主从复制中三种技术

    二进制日志文件Binlog的格式主要有三种: 1.Statement:基于SQL语句级别的Binlog,每条修改数据的SQL都会保存到Binlog里面. 2.ROW:基于行级别,每一行数据的变化都会记 ...

  5. (4.3)mysql备份还原——mysql备份策略

    (4.3)mysql备份还原——mysql备份策略 1.指定备份策略时需要考虑的点 [1.1]备份周期:2次备份间隔时长 [1.2]备份方式:在备份周期中,使用什么备份方式.备份模式 [1.3]实现方 ...

  6. 基于xtrabackup实现mysql备份还原

    简介 Xtrabackup2.2版之前包括4个可执行文件: innobackupex: Perl 脚本 xtrabackup: C/C++ 编译的二进制 xbstream: 支持并发写的流文件格式 x ...

  7. (4.8)mysql备份还原——binlog查看工具之show binlog的使用

    (4.8)mysql备份还原——binlog查看工具之mysqlbinlog及show binlog的使用 关键词:show binlog,mysql binlog查看,二进制文件查看,binlog查 ...

  8. (4.1)mysql备份还原——mysql常见故障

    (4.1)mysql备份还原——mysql常见故障 1.常见故障类型 在数据库环境中,常见故障类型: 语句失败,用户进程失败,用户错误 实例失败,介质故障,网络故障 其中最严重的故障主要是用户错误和介 ...

  9. MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结

    MySQL中有六种日志文件,分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log).一 ...

随机推荐

  1. Schema中elementFormDefault="qualified"所起的作用

    有的xsd文件的开头是这样写的: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.or ...

  2. 为什么V8引擎这么快?[转]

    转载请注明出处:http://blog.csdn.net/horkychen Google研发的V8 JavaScript引擎性能优异.我们请熟悉内部程序实现的作者依源代码来看看V8是如何加速的. 作 ...

  3. java注解中的元注解

    一:java注解中的元注解 四个元注解分别是:@Target,@Retention,@Documented,@Inherited , 再次强调下元注解是java API提供,是专门用来定义注解的注解, ...

  4. [原]Jenkins(十一)---jenkins使用管理员admin创建用户和分配权限

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

  5. Sciter返回json

    sciter::value arr[200]; for (int i = 0; i < (int)m_fileList.size(); i++) { cv::Mat img = cv::imre ...

  6. db2 cpu使用率高问题分析处理

    性能调优步骤 明确问题->收集数据->分析数据->细化.定位问题->优化 环境: db2 问题:%usr CPU高,大约99%,db2sysc进程使用的最多 收集数据 ---系 ...

  7. 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装

    Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...

  8. GregorianCalendar公里类

    使用GregorianCalendar 获得日期是年中第几周第几天 public class Common { /// <summary> /// 获取日期是年中的第几周 /// < ...

  9. [No000014E]提问的智慧How To Ask Questions The Smart Way

    原文版本历史 目录 声明 简介 在提问之前 当你提问时 慎选提问的论坛 Stack Overflow 网站和 IRC 论坛 第二步,使用项目邮件列表 使用有意义且描述明确的标题 使问题容易回复 用清晰 ...

  10. python immutable and mutable

    https://blog.csdn.net/hsuxu/article/details/7785835 python mutable as default parameter(NONONO) def ...