1.全量备份

全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份。

备份所有库:

mysqldump -uroot -ppoldboy -S /data/3306/mysql.sock -F -B -A|gzip >/server/backup/mysqlbak_$(date+%F).sql.gz

备份一个库:

mysqldump -uroot -ppoldboy -S /data/3306/mysql.sock -F -B  |gzip >/server/backup/mysqlbak_$(date+%F).sql.gz

2.增量备份

增量数据是从上次全量备份之后,更新的新数据。对于mysql来说,binlog日志就是msyql的增量数据。

3.企业场景,增量或者全量备份

1)中小公司,全量一般是每天一次,业务流量低谷执行全备,备份时会锁表。

2)单台数据库,如何增量。用rsync(配合定时任务频率大点或者inotify,主从复制)把所有binlog备份到远程服务器,尽量做主从复制。

3)大公司周备,每周六00点一次全量,下周日-下周六00点前都是增量。

优点:节省备份时间,减少备份压力。

缺点:增量的binlog文件副本太多,还原会很麻烦。

4)一主多从,会有一个从库做备份,延迟同步

1.迁移或者升级数据库时

2.增加从库

3.人为的DDL,DML语句,主从库没办法,所有库都会执行,此时需要备份

4.跨机房灾备,需要备份到异地

一般由人为或者程序误操作导致的变化,需要增量恢复,因为其他从库都进行了误操作。

4.重新刷新一个binlog日志:

mysqladmin  -uroot -p'oldboy124' -S /data/3306/mysql.sock flush-logs

5.增量恢复小结

1)人为sql造成的误操作

2)全备和增量

3)恢复时建议对外停止更新

4)  恢复全量,然后把增量日志中由问题的sql删除,进行恢复

其核心思想

1)流程制度控制,防止问题发生,如果不做,面临服务和数据,鱼和熊掌不可兼得

2)延迟备份来解决。监控,黑名单,白名单机制。

3)业务需求容忍度,可量化的目标,选择停库,根据需求选择停库或者锁表或者容忍丢失部分数据。

十、linux-mysql下的mysql数据库增量恢复的更多相关文章

  1. Linux学习之CentOS(二十)--CentOS6.4下修改MySQL编码方法

    但是当我们在试图对数据库中的数据进行备份或者将sql文件导入到我们的数据库时可能就会碰到编码的问题,在windows下安装mysql时我们可以在安装的时候就选择好整个数据库的编码方式(通常设置成utf ...

  2. Linux系统下授权MySQL账户访问指定数据库和数据库操作

    Linux系统下授权MySQL账户访问指定数据库 需求: 1.在MySQL中创建数据库mydata 2.新建MySQL账户admin密码123456 3.赋予账户admin对数据库mydata具有完全 ...

  3. 使用kettle工具将文本文件的内容插入Linux虚拟机下的mysql表中

    一.      解压kettle包 1.把包拷到Linux系统下 还有mysql的驱动包 2.解压zip后缀的包 输入命令:unzip /software/pdi-ce-7.0.0.0-25.zip ...

  4. Linux平台下卸载MySQL的方法

    转载自: https://www.cnblogs.com/taomylife/p/7234925.html Linux平台下卸载MySQL的方法: MySQL的安装主要有三种方式:二进制包安装.RPM ...

  5. Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with

    Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with 摘要 Li ...

  6. 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。

    步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...

  7. 在 Linux 系统下使用 PhotoRec 工具来恢复已删除或丢失的文件

    PhotoRec – Recover Deleted or Lost Files in Linux 在 Linux 系统下使用 PhotoRec 工具来恢复已删除或丢失的文件 当你在系统中有意或无意地 ...

  8. Linux环境下安装MySQL数据库

    Linux安装mysql服务分两种安装方法: (1).源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: (2).使用官方编译好的二进制文件安装,优 ...

  9. 虚拟机中ubuntu-16.04 Linux系统下配置mysql数据库,并在windows下使用navicat远程连接

    Linux系统下mysql数据库安装配置步骤: 1.在服务器上安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql- ...

随机推荐

  1. 好文推荐:终于有人把Elasticsearch原理讲透了

    专注于Java领域优质技术,欢迎关注 作者:channingbreeze 转自公号:互联网侦察 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. ...

  2. python3 sort list

    1. 对元素指定的某一部分进行排序,关键字排序 s = ['release.10.txt','release.1.txt','release.2.txt','release.14.txt','rele ...

  3. redis(七)---- SpringBoot和redis整合

    SpringBoot和Redis整合非常简单 添加pom依赖 <dependency> <groupId>org.springframework.boot</groupI ...

  4. {转} 深入理解 HTTP Session

    session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的含义也很不相同.这里只探讨HTTP S ...

  5. 聚类算法总结以及python代码实现

    一.聚类(无监督)的目标 使同一类对象的相似度尽可能地大:不同类对象之间的相似度尽可能地小. 二.层次聚类 层次聚类算法实际上分为两类:自上而下或自下而上.自下而上的算法在一开始就将每个数据点视为一个 ...

  6. 小程序转义字符去空格&nbsp;

    <text ].specInfo}}</text> 在微信小程序开发过程中,有时候会用到常用的一些特殊字符如:‘<’.‘>’.‘&’.‘空格’等,微信小程序同样支 ...

  7. Java 14 令人期待的 5 大新特性,打包工具终于要来了

    随着新的 Java 发布生命周期的到来,新版本预计将于 2020 年 3 月发布,本文将对其中的 5 个主要特性作些概述. Java 13刚刚发布给开发人员使用不久,最新版本的JDK于2019年9月发 ...

  8. split和join合写

    小骆驼 第一章 简介 1. // input 和截取字符 #!usr/bin/perl use strict; use warnings; while ( <> ) { chomp; pr ...

  9. try{}catch{}finally{}使用总结

    import java.util.Scanner; class MyException extends Exception { public MyException(String Message) { ...

  10. 第二季 第四集 part3

    obj.insertAdjancetHtlm("beforeend"(位置), r(内容)) insertAdjacentHTML() 将指定的文本解析为HTML或XML,并将结果 ...