(一)备份类型(backup type)

物理和逻辑备份(Physical Versus Logical Backup)

物理备份是指直接复制存储数据库内容的目录和文件,这种类型的备份适用于出现问题时需要快速恢复的大型重要数据库。

逻辑备份保存以逻辑数据库结构(create database、create table)和内容(insert 语句)表示的信息,也就是保存的是创建数据库、创建表和插入数据的sql语句。这种类型的备份适用于较小数量的数据,可以在其中编辑数据值或表结构,或者在不同的机器架构上重新创建数据。

物理备份特点如下:

(1)备份由数据库目录和文件副本组成,通常是MySQL整个或者部分数据目录;

(2)物理备份比逻辑备份要快,因为它只是复制文件,并不需要做什么转化;

(3)比逻辑备份更紧凑或者压缩性更好;

(4)因为备份速度和紧凑性对于繁忙、重要的数据库非常重要,MySQL企业版执行物理备份;

(5)备份的粒度范围从整个数据目录的级别到各个文件的级别。这可能提供表级粒度,也可能不提供,这取决于存储引擎。例如,InnoDB表可以单独存储在一个文件中,也可以与其他InnoDB表共享文件存储空间;每个MyISAM表只对应于一组文件。

(6)除了数据库之外,备份还可以包括任何相关文件,如日志或配置文件。

(7)以这种方式备份内存表中的数据比较困难,因为它们的内容并不存储在磁盘上。

(8)备份只能移植到具有相同或类似硬件特征的其他机器上;

(9)可以在MySQL服务器不运行时执行备份。如果服务器正在运行,则有必要执行适当的锁定,以便服务器在备份期间不会更改数据库内容。MySQL Enterprise Backup自动锁定备份的表;

(10)物理备份工具包括用于InnoDB或任何其他表的MySQL企业备份的mysqlbackup,或用于MyISAM表的文件系统级命令(如cp、scp、tar、rsync)。

逻辑备份特点如下:

(1)逻辑备份工具包括mysqldump程序和SELECT…INTO OUTFILE语句,适用于任何存储引擎,甚至内存;

(2)在运行MySQL服务器时执行逻辑备份;

(3)以逻辑格式存储的备份与机器无关,并且具有高度的可移植性;

(4)备份不包括日志或配置文件,或不属于数据库的其他与数据库相关的文件;

(5)无论任何存储引擎,备份和恢复粒度可用于服务器级别(所有数据库)、数据库级别(特定数据库中的所有表)或表级别;

(6)备份的输出比物理备份大,尤其是以文本格式保存时;

(7)和物理备份相比,要慢些,因为服务器必须访问数据库信息并将其转换为逻辑格式。如果输出写在客户端,服务器还必须将其发送到备份程序。

使用mysqldump备份文件:

数据备份主要分为全量备份和增量备份。

  • 全量备份:每次备份都备份当前系统中的所有数据。
  • 增量备份:备份当前时间点的数据与上次备份时间点数据的差异

使用mysqldump来实现全量备份。

使用mysqlbinlog来实现增量备份。

mysqldump作为重要的MySQL备份工具,功能相当强大。备份参数、恢复策略,需要仔细研究。

备份数据库:

备份单个数据库或单个数据库中的指定表:

mysqldump [OPTIONS] database [tb1] [tb2]…

备份多个数据库:

mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3...]

备份所有数据库:

mysqldump [OPTIONS] –all-databases [OPTIONS]

mysql中的备份(backup)和恢复(recovery)的更多相关文章

  1. MySQL中的备份和恢复

    MySQL备份 MySQL中的逻辑备份是将数据库中的数据备份为一个文本文件,备份的文件可以被查看和编辑.在MySQL中,使用mysaldump工具来完成备份.有以下3种来调用mysqldump: 备份 ...

  2. 一文搞懂│mysql 中的备份恢复、分区分表、主从复制、读写分离

    目录 mysql 的备份和恢复 mysql 的分区分表 mysql 的主从复制读写分离 mysql 的备份和恢复 创建备份管理员 创建备份管理员,并授予管理员相应的权限 备份所需权限:select,r ...

  3. mysql 数据表备份导出,恢复导入操作实践

    因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点.所以实践一波 ...

  4. MySQL中如何选择合适的备份策略和备份工具

    ​数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线.鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求.对于备份来说,也是如此. 一个备份 ...

  5. 我的MYSQL学习心得 备份和恢复(详细)

    备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...

  6. MySQL优化之——备份和恢复

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46766919 备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUM ...

  7. Mysql 导入导出备份

    恢复MySQL服务器上面的txt格式文件(需要FILE权限,各数据值之间用"制表符"分隔)   1.导入数据库服务器上的txt文件 mysql>load data infil ...

  8. linux服务器MySQL数据从磁盘拷贝以及恢复

    偶有感触:遇到这个问题,经过一个下午的排查, 终于解决. 故事情节:我的阿里云服务器突然被黑客攻击了,整个系统down了. 找客服,他们排查说usr目录的文件全部丢失.让我重新初始化系统盘.初始化之前 ...

  9. 从MySQL全库备份中恢复某个库和某张表【转】

    从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=u ...

随机推荐

  1. 逐帧动画抖动、适配布局、SVG Sprites

    笔者所在的前端团队主要从事移动端的H5页面开发,而团队使用的适配方案是: viewport units + rem.具体可以参见凹凸实验室的文章 – 利用视口单位实现适配布局 . 笔者目前(2017. ...

  2. java-js知识库之一——canvas绘制9*9乘法表

    不知不觉一年又要过去了,软件这一行入坑快两年了,一直不知道这两年干了些啥,也不知道自己到底会些什么,工作也是些简单的东西,谁都能做,对未来也是很茫然.今天和同事优化数据库,头都是懵的,很多东西都感觉似 ...

  3. python中filter、map、reduce的区别

    python中有一些非常有趣的函数,今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,map,reduce为内 ...

  4. 嵌入式Linux系统的构成和启动过程

    转自:http://blog.csdn.net/weiganyi/article/details/11561859 在我们的周围,大量的嵌入式设备都是基于Linux系统来构建的,嵌入式Linux与主机 ...

  5. 软工作业PSP与单元测试训练:java语言判断电子邮箱格式

    任务说明(二选一): 一.实现模块判断传入的身份证号码的正确性: 二.实现模块判断传入的电子邮箱账号的正确性:   实现要求: 一.实现功能模块: 1. 判断邮箱地址是否为空: 2. 判断邮箱地址是否 ...

  6. Problem 3: Largest prime factor

    The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 60085 ...

  7. YYY0.1YYY

    XXX0.2XXXZZZ目前提供免费下载和自动更新功能,由于自己的时间有限,就我一个开发,后期持续更新在线听歌.mp4转mp3.高音质下载.全球dj网站免费下载功能!ZZZ

  8. jquery tmpl生成导航

    引入<script src="jquery.tmpl.min.js"></script> html<ul class="nav" ...

  9. web传输过程中的gzip压缩

    最近在做项目的时候用到了gzip,发现它的压缩能力还是很强大的,基本能够压缩50%的文本文件大小.以前有所了解,但不够深入,现在详细了解下. 什么是gzip 在哪里使用gzip gzip对于不同类型文 ...

  10. python—函数

    # 函数:1.减少重复代码:# 2.使程序变的可扩展# 3.使程序变的易维护# 永远只能且返回一个值#def 定义内容# a,b = 5,8# c = a** b# print(c)## def ca ...