mysql中的备份(backup)和恢复(recovery)
(一)备份类型(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)的更多相关文章
- MySQL中的备份和恢复
MySQL备份 MySQL中的逻辑备份是将数据库中的数据备份为一个文本文件,备份的文件可以被查看和编辑.在MySQL中,使用mysaldump工具来完成备份.有以下3种来调用mysqldump: 备份 ...
- 一文搞懂│mysql 中的备份恢复、分区分表、主从复制、读写分离
目录 mysql 的备份和恢复 mysql 的分区分表 mysql 的主从复制读写分离 mysql 的备份和恢复 创建备份管理员 创建备份管理员,并授予管理员相应的权限 备份所需权限:select,r ...
- mysql 数据表备份导出,恢复导入操作实践
因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点.所以实践一波 ...
- MySQL中如何选择合适的备份策略和备份工具
数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线.鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求.对于备份来说,也是如此. 一个备份 ...
- 我的MYSQL学习心得 备份和恢复(详细)
备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...
- MySQL优化之——备份和恢复
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46766919 备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUM ...
- Mysql 导入导出备份
恢复MySQL服务器上面的txt格式文件(需要FILE权限,各数据值之间用"制表符"分隔) 1.导入数据库服务器上的txt文件 mysql>load data infil ...
- linux服务器MySQL数据从磁盘拷贝以及恢复
偶有感触:遇到这个问题,经过一个下午的排查, 终于解决. 故事情节:我的阿里云服务器突然被黑客攻击了,整个系统down了. 找客服,他们排查说usr目录的文件全部丢失.让我重新初始化系统盘.初始化之前 ...
- 从MySQL全库备份中恢复某个库和某张表【转】
从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=u ...
随机推荐
- mask_rcnn训练自己的数据集
1.首先从官方下载mask_rcnn源码https://github.com/matterport/Mask_RCNN 2.首先将demo.ipynb转换成demo.py,这里我顺便更改为适用于我自己 ...
- Django知识总结(二)
拾 ● 模型(M) 一 ● ORM(对象关系映射, Object Relational Mapping) 类----一张表 类的实例对象----表中的一条记录 映射关系 ①python的类名对应的SQ ...
- 安装SQl Server 报错 "需要 Microsoft.NET Framework 3.5 ServicePack 1" 解决方法
前言 之前装Sql Server都没遇到过这样的问题, 昨天重装了系统之后, 然后安装SQl Server 报错,提示 "需要 Microsoft.NET Framework 3.5 Ser ...
- union、union all 、distinct的区别和用途
1.从用途上讲 它们都具有去重的效果 2.从效率上讲 distinct通常不建议使用,效率较低;union all 和union 而言,union all效率更高;原因是:union 相当于多表查询出 ...
- erlang二进制
在Erlang中写处理二进制数据的代码是洋溢着幸福感的,它对于二进制强大的表现力甚至能让你忘掉了它种种不便,今天我们说说Erlang的二进制数据处理. Erlang中bit string代表无类型的内 ...
- ORACLE数据库管理员的职责
ORACLE数据库管理员的职责 一.概述 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情 ...
- C#异常:未将对象引用设置到对象的实例。
异常:未将对象引用设置到对象的实例. 一般是定义的变量或者数组等,没有赋初始值. 赋初始值后问题解决.
- python模块和包(模块、包、发布模块)
模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也 ...
- oracle入门之对表数据查询(三)
oracle表复杂查询--子查询 什么是子查询? 子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询. 单行子查询 单行子查询是指只返回一行数据的子查询语句. 请思考:如果显示与smit ...
- ORACLE一个TNS配置错误
oracle tns配置文件格式如下 RSXT = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.26.3. ...