二进制日志:记录数据库修改的相关操作,作用是即时点回复,主从复制

可以按时间滚动,也可以按大小滚动

server-id:服务器身份标识

一、二进制文件的删除方法,千万不要手动删除

PURGE BINARY LOGS TO 'mysql-bin.010';

PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';

二、常用的操作:

SHOW MASTER STATUS;

FLUSH LOGS;

SHOW BINARY LOGS;

SHOW BINLOG EVENTS IN ‘log_file’\G;

查看从某个点开始的操作:

mysqlbinlog --start-position=123 mysql-bin.000001 > fansik.sql

mysqlbinlog

--start-time

--stop-time

--start-position

--stop-position

三、MySQL记录二进制日志的格式:

基于语句:statement

基于行:row

混合模式:mixed

四、MySQL二进制日志内容格式:

事件发生的日期和时间

服务器ID

事件的结束位置

事件的类型

原服务器生成此事件的线程ID

语句的时间戳和写入二进制日志文件的时间差

错误代码

事件内容

事件位置,相当于下一个事件的开始位置

五、服务器参数

log_bin = {ON|OFF}还可以是个文件路径

log_bin_trust_function_creators

sql_log_bin = {ON|OFF}

sync_binlog

binlog_format = {statement|row|mixed}

max_binlog_cache_size =

二进制日志缓冲空间大小,从MySQL5.5.9以后,仅用于缓冲事务类的语句

max_binlog_stmt_cache_size

事务类和非事务类语句共用的缓冲区大小

max_binlog_size = 二进制日志文件的上限

建议:切勿将二进制日志与数据文件放在同一设备

六、中继日志

relay_log_purge={ON|OFF}

是否自动清理不再需要的中继日志

七、备份和恢复

1、灾难恢复;

2、审计

3、测试

备份:目的用于恢复,对备份数据做恢复测试

备份类型:

  • 根据备份时,数据库是否在线:

冷备:cold backup

   温备:warm backup

    热备:hot backup

  • 根据备份的数据集:

    完全备份:full backup

    部分备份:partial backup

  • 根据备份时的接口(直接备份数据文件还是通过MySQL服务器导出数据):

    物理备份(physical backup):直接复制(归档)数据文件的备份方式

    逻辑备份(logical backup):把数据从库中提出来保存为文本文件

  • 根据备份时是备份整个数据还是仅备份变化的数据

   完全备份:full backup

    增量备份:incremental backup

    差异备份:differential backup

八、备份策略

选择备份方式

选择备份时间

考虑到恢复成本

恢复时长

备份成本:锁时间、备份时长、备份负载

MySQL二进制日志的备份和恢复的更多相关文章

  1. MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

  2. Mysql 二进制日志备份还原

    Mysql 二进制日志备份还原 一.开启二进制日志 1.进入配置文件[mysqld]下添加配置 方案一 vim /etc/my.cnf log-bin = /usr/local/mysql/logs/ ...

  3. mysql数据安全之利用二进制日志mysqlbinlog备份数据

    mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...

  4. MySQL 二进制日志(Binary Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分. MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志能够帮助我们定位mysqld ...

  5. MySQL二进制日志(binary log)总结

    本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  6. mysql二进制日志详解

    一.什么是二进制日志 二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改.二进制日 ...

  7. MySQL二进制日志功能介绍

    二进制日志记录所有更新数据的SQL语句,其中也包含可能更新数据的SQL语句,例如DELETE语句执行过程中无匹配的行.二进制日志中还包含了与执行SQL语句相关的内容,例如SQL语句执行的时间.错误代码 ...

  8. MySQl Study学习之--MySQl二进制日志管理

    MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log)   a.它包括的内容及作用例如以下:     包括了全部更新了数据或者已经潜在更新了数据(比方没 ...

  9. MySQL二进制日志总结

    二进制日志简单介绍 MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句.二进制日志(binary log)中记录了对MySQL数据 ...

随机推荐

  1. 使用 JDBC 调用函数 & 存储过程

    /** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connection connectio ...

  2. Java并发编程(二)线程任务的中断(interrupt)

    使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回. ...

  3. Swift 实现iOS Animation动画教程

    这是一篇翻译文章.原文出处:http://www.raywenderlich.com/95910/uiview-animation-swift-tutorial 动画( animation)是iOS用 ...

  4. Oracle GoldenGate: 使用宏

         OGG宏与C语言中的宏一样,提供了函数封装的功能,即可以将一些配置参数整理为一个宏,然后在多个参数文件中共用,针对环境复杂或多个复制点的情况尤其有用.下面我们将介绍如何创建一个宏的库,以及在 ...

  5. Python的平凡之路(1)

    2016-07-26   一.Python简介   Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.它的特点如下: 面向对象.解释语言.交互性.模块化.动态性.高级语言.可移植.可 ...

  6. php的数组与数据结构

    一.数组的分类与定义 分类: 1.索引数组  $array = array(1,2,3,4,5); 2.关联数组  $array=array(1=>"aa","bb ...

  7. java中判断字符串是否为数字的三种方法

    以下内容引自  http://www.blogjava.net/Javaphua/archive/2007/06/05/122131.html 1用JAVA自带的函数   public static ...

  8. MySQL中like的使用方法

    Like的运用场合主要在模糊查询的时候,一般以查询字符串居多,这里据一些例子来说他的一般用法: <1>查询name字段中包含有“明”字的:例 select * from table1 wh ...

  9. python3 nonlocal vs global

    考虑这样一个python程序: x = 12 def func(): x = 1 func() print(x) 输出为:x = 12 因为函数内部定义的x被认为只属于局部作用域,为了表明我么引用的是 ...

  10. 极客DIY:打造属于自己的无线移动渗透测试箱

    本文中介绍的工具.技术带有一定的攻击性,请合理合法使用. 你想不想拥有一款属于自己的移动无线渗透测试箱,如果你感兴趣,下面介绍的设备将会对你很有帮助.这个箱子被称为“MiTM(中间人攻击)WiFi箱” ...