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. 2020PHP面试-网络篇

    一.网络协议分层 OSI七层: 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP四(五)层 : 物理层(主要是光电信号的传输). 数据链路层(MAC地址.以太网协议).网络层 ...

  2. SpringBootStarter种类

    Name Description spring-boot-starter 核心starter, 包括auto-configuration支持, logging和YAML 支持 spring-boot- ...

  3. caffe中运行mnist

    mnist样本字库嘚图片转换:# coding=utf-8import numpy as npimport struct import matplotlib.pyplot as plt from PI ...

  4. JavaScript 之 "for"的衍生对象

    JavaScript for/in 语句 作用:for/in 语句用于遍历循环对象属性. 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作. 例子: 循环对象属性: var pers ...

  5. delphi 单例模式

    unit Singleton; (* 单例模式适用于辅助类, 一般伴随于单元的生命周期 *) interface uses SysUtils; type TSingleton = class publ ...

  6. iOS精美过度动画、视频会议、朋友圈、联系人检索、自定义聊天界面等源码

    iOS精选源码 iOS 精美过度动画源码 iOS简易聊天页面以及容联云IM自定义聊天页面的实现思路 自定义cell的列表视图实现:置顶.拖拽.多选.删除 SSSearcher仿微信搜索联系人,高亮搜索 ...

  7. [LC] 863. All Nodes Distance K in Binary Tree

    We are given a binary tree (with root node root), a target node, and an integer value K. Return a li ...

  8. [Python Cookbook]Pandas: How to increase columns for DataFrame?Join/Concat

    1. Combine Two Series series1=pd.Series([1,2,3],name='s1') series2=pd.Series([4,5,6],name='s2') df = ...

  9. JavaSE--for each

    参考:http://blog.csdn.net/yasi_xi/article/details/25482173 学习多线程的时候实例化线程数组而挖掘出来的一直以来的理解误区 之前一直以为for ea ...

  10. excel 导出长数据 变成科学计数 解决办法

    加 “\t”