1、什么情况下会用到备份呢?

【1.1】灾难恢复

【1.2】单位审计:数据库在过去某一个点是什么样的

【1.3】跨机房灾备:异地备份

【1.4】认为的DDL或者DML语句,导致主从库的数据消失

【1.5】业务测试,构建测试库

2、备份的分类

  分为冷备份、温备份、热备份

【2.1】冷备份(离线备份:读写操作均中止)

  优点:设备投资较少,节省费用,对环境要求不高。

  缺点:恢复时间较长,一般要数天至1周,数据完整性与一致性比较差;

【2.2】温备份(只可以执行读操作)

  优点:设备投资较少,节省费用,对环境要求不高。

  缺点:恢复时间较长,一般要数天至1周,数据完整性与一致性比较差;

【2.3】热备份(读、写不受影响)

  优点:恢复时间短,一般几十分钟到数个小时,数据完整性与一致性最好,数据丢失可能性最小。

  缺点:设备投资大,费用高,对环境要求高,运维管理比较复杂。

【2.4】总结

 

根据主机和备机之间同步数据的程度,备份可以分为三种情况,分别为冷备份、暖备份和热备份。
  • 冷备份:也就是所谓的备份,备用服务器被配置用于接受主服务器的数据,当出故障时,手动将数据还原到主数据库,或是重新配置程序的连接字符串或权限来使得备份数据库上线。
  • 暖备份:主服务器数据会不停的将日志传送到备用服务器(间隔不定,可以是15分钟,30分钟,1分钟等等),在这方式下,主服务器到备份服务器通常是异步更新,所以不能保证主服务器和备份服务器数据一致。此外,该方案通常不会实现自动故障监测和故障转移。
  • 热备份:主服务器的数据自动在备份服务器上进行同步,大多数情况下都会包含自动的故障监测和故障转移,并且能够保证主服务器和备份服务器的数据一致性。

随着冷备份到暖备份到热备份,成本会直线上升。

3、备份的方式

  分为物理备份与逻辑备份2种

【3.1】物理备份(直接复制文件/目录)

  所谓的物理备份,就是把整个关于mysql数据库的相关目录都拷贝一份。

  物理备份产生的数据副本都是二进制文件,通常不可编辑,例如数据库的二进制日志;

  特点:

  (1)由数据库文件和目录组成,是mysql数据目录的全部或者部分

  (2)一般备份比逻辑备份快,因为纯属是文件复制,不用像逻辑备份那样需要做SQL转换

  (3)备份的粒度比逻辑备份小,因为是全文件复制了,当然比SQL要精确一些。

  (4)物理备份的文件不仅是数据库,还可以是数据库的日志,配置文件

  适用:适用于大数据量的备份,比如你有百G,TB以上。

  备份方法:

    (1)文件系统命令:cp/scp/tar/rsync;

    (2)Mysql备份软件,系统快照snapshot;

【3.2】逻辑备份(将数据以SQL方式导出至文本文件)

  特点:

  (1)逻辑备份通过查询数据库的信息进行备份

  (2)速度比较慢,因为获取了信息,然后组装成SQL语句,如果调用命令是远程还要把SQL语句远程传输

  (3)备份文件要比物理备份小

  (4)备份粒度只能到表

  (5)没有日志或者配置文件

  (6)备份文件是SQL语句,逻辑语句,相对而言可移植性好(比如跨OS)。

4、备份的模式

  一般分为3种,全备、差异备、增量备

【4.1】全备:备份所有数据

【4.2】差异备:备份自上一次全备到现在的数据

【4.3】增量备:备份自上一次全备/增量备到现在的数据

5、mysql一般备份的数据

【5.1】数据文件

【5.2】日志文件(比如事务日志、二进制日志)

【5.3】存储过程,存储函数,触发器

【5.4】配置文件(很重要,各个配置文件都要备份)

【5.5】用于实现数据库备份的脚本

6、mysql常用备份工具

【6.1】mysqldump(单线程)/mysqlpump(多线程,5.7+以后才有)

  是一种逻辑备份工具,支持完全、部分备份。InnoDB热备,MyIsam温备;

【6.2】mydumper开源,是mysqldump的一个衍生,速度在两者之间。(5.7以后不要用了)

【6.3】cp/tar :物理备份。lvm2快照(请求一个全局锁),之后立即释放,达到几乎热备的效。果。

  注意:不能仅备份数据文件,要同事备份事务日志;

  前提:要求数据文件和事务日志位于同一个逻辑卷;

【6.4】innobackup【收费】/xtrabackup【免费】

  由Percona提供,开源工具,支持Innodb做热备份,物理备份工具;

  完全备份、部分备份;完全备份、增量备份;完全备份、差异备份;

【6.5】mysqlhotcopy(已淘汰):物理备份工具,但只支持myIsam,基本属于冷备份,物理备份,速度较快

【6.6】主从复制

【6.7】官方mysql enterprise backup 备份软件,收费

【6.8】其他第三方工具、厂家

(4.2)mysql备份还原——备份概述的更多相关文章

  1. 黄聪:Mysql数据库还原备份提示MySQL server has gone away 的解决方法(备份文件数据过大)

    使用mysql做数据库还原的时候,由于有些数据很大,会出现这样的错误:The MySQL Server returned this Error:MySQL Error Nr. MySQL server ...

  2. (4.4)mysql备份还原——备份存储容灾基础知识

    存储知识 1.为什么需要存储,存储一般解决哪些问题? 容量.速度.易于管理.安全(容灾与备份).可扩展性 2.存储发展历史 [2.1]大型机 [2.2]c/s结构(客户端->服务器) [2.3] ...

  3. mysqldump工具实现mysql数据库的备份还原

    简介 冷.温.热备份 冷备:读写操作均不可进行 温备:读操作可执行:但写操作不可执行 热备:读写操作均可执行 MyISAM:温备,不支持热备 InnoDB:都支持 不管是热备还原还是冷备还原,还原时都 ...

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

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

  5. Gitlab 备份还原/迁移

    Gitlab 备份还原 备份数据:通过命令进行备份操作 gitlab-rake gitlab:backup:create ... [DISABLED] Creating backup archive: ...

  6. MySQL/MariaDB数据库的mysqldump工具备份还原实战

    MySQL/MariaDB数据库的mysqldump工具备份还原实战 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.mysqldump概述 1>.逻辑备份工具 mysq ...

  7. mysql 命令行还原备份数据库

    通常数据库还原备份可以通过navicat等数据库管理工具进行,只需要简单的导出导入就行了,但遇到有索引外键的数据库,数据库管理工具运行.sql文件会报错,这时候可以尝试命令行导入,亲测可以成功 MyS ...

  8. 如何用SQL语句实现Mysql数据库的备份与还原

    以前一直做android客户端的项目,根本没有开发asp.net mvc的开发,现阶段做了一个模块,参数设置,以及数据库的备份与还原.其需求如下: 参数设置 本项参数设置为对自动数据备份进行设置,管理 ...

  9. 通过innobackupex实现对MySQL的增量备份与还原

    备份 增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --password=test /backup/ 备注:test是我的MySQL服务的root用户的密码,/b ...

随机推荐

  1. Python——特殊属性与方法

    Python 对象 中以双下划线开头和结尾的属性称为特殊属性,由于对象的方法也属于属性,因此以双下划线开头和结尾的方法称为特殊方法.对这些对象执行一些特定的运算时,Python会自动视图调用这些实例的 ...

  2. 一、Bitcoin比特币与BlockChain区块链技术

    一.比特币历史 2008 年 10 月 31 日,一个网名叫中本聪(英文翻译过来滴)的家伙发布比特币唯一的白皮书:<Bitcoin:A Peer-to-PeerElectronic Cash S ...

  3. 树莓派集群实践——nfs

    1.安装 apt-get install nfs-common nfs-kernel-server 省略(sudo apt-get install portmap  --->install rp ...

  4. vue返回上一页面如果没有上一页面返回首页

    methods: { back(){ if (window.history.length <= 1) { this.$router.push({path:'/'}) return false } ...

  5. [Tensorflow] Object Detection API - build your training environment

    一.前期准备 Prepare protoc Download Protocol Buffers Create folder: protoc and unzip it. unsw@unsw-UX303U ...

  6. 删除新版UniAccess Agent 办公室监控软件的方法

    UniAccess Agent 是在由LeagSoft开发的监控软件,老版本的一般安装在C:\Program Files\LeagSoft\UniAccess Agent这个目录下,一般找到这个目录点 ...

  7. 我的第一篇paper

    找实习虽然只为自己争取到一个秋季的绿色通道,但可喜的是,我投的几篇paper,终于中了一篇. 现在可以在英文数据库或google scholar上面搜索到自己名字,感觉很nice,研究生的心愿算是完成 ...

  8. HTML+CSS:圆形和圆角图片格式

    效果展示 实现代码 <!DOCTYPE html> <html> <head> <title>JcMan</title> <style ...

  9. Cannot change version of project facet Dynamic Web Module to 3.0 异常问题处理

    如何解决Tomcat服务器在初始化应用的时候的以下异常问题 1,Cannot change version of project facet Dynamic Web Module to 3.0 2,O ...

  10. cmd识别不了mysql命令

    问题现象:安装配置过MySQL和环境变量,当时用的好好的,过了几天再试发现cmd识别不了了: 之前maven的mvn命令也遇到过这个问题. 原因:win10中配成这个样子,重启之后会时效: 解决方法: ...