登录  /  注册
首页 > 常见问题 > 正文

按数据备份时数据库状态的不同有几种备份方式

青灯夜游
发布: 2022-07-21 17:06:02
原创
5721人浏览过

有3种备份方式:1、冷备份,也称离线备份,是指在关闭数据库并且数据库不能更新的状况下进行的数据库完整备份,并可对数据进行指定恢复。2、热备份,也称联机备份,是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。3、逻辑备份,是指使用软件技术从数据库中导出数据并写入一个输出文件,该文件的格式一般与原数据库的文件格式不同,只是原数据库中数据内容的一个映像。

按数据备份时数据库状态的不同有几种备份方式

本教程操作环境:windows7系统、Dell G3电脑。

按数据备份时数据库状态的不同有3种备份方式:冷备份(离线备份)、热备份(联机备份)、逻辑备份。

数据库的冷备份

冷备份(cold backup),也被称为离线备份,是指在关闭数据库并且数据库不能更新的状况下进行的数据库完整备份,并可对数据进行指定恢复。

这样做的好处是可以保证数据库的完整性,备份过程简单且恢复速度相对快一些,但是关闭数据库会影响现有业务的进行。服务器停止运行期间,用户不能再继续访问网站。例如,一些电商网站店庆促销时,如果为了备份要停库,那么带来的代价损失将不可估量。所以冷备一般用于不是很重要、非核心的业务上面。

冷备份是最快和最安全的方法。冷备份的优点是:

1、 是非常快速的备份方法(只需拷文件)

2、 轻易归档(简单拷贝即可)

3、 轻易恢复到某个时间点上(只需将文件再拷贝回去)

4、 能与归档方法相结合,做数据库“最佳状态”的恢复。

5、 低度维护,高度安全。

但冷备份也有如下不足:

1、 单独使用时,只能提供到“某一时间点上”的恢复。

2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。

4、 不能按表或按用户恢复。

假如可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。

冷备份中必须拷贝的文件包括:

1、 所有数据文件

2、 所有控制文件

3、所有联机REDO LOG文件

4、 Init.ora文件(可选)

值得注重的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。

数据库的热备份

热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。即热备份是系统处于正常运转状态下的备份。所以,如果你有一个冷备份而且又有热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog( ) 方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。

热备份的命令文件由三部分组成:

1. 数据文件一个表空间一个表空间的备份。

(1) 设置表空间为备份状态

(2) 备份表空间的数据文件

(3) 回复表空间为正常状态

2. 备份归档log文件

(1) 临时停止归档进程

(2) log下那些在archive rede log目标目录中的文件

(3) 重新启动archive进程

(4) 备份归档的redo log文件

3. 用alter database bachup controlfile命令来备份控制文件热备份的优点是:

  • 可在表空间或数据库文件级备份,备份的时间短。

  • 备份时数据库仍可使用。

  • 可达到秒级恢复(恢复到某一时间点上)。

  • 可对几乎所有数据库实体做恢复

  • 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。

热备份的不足是:

1. 不能出错,否则后果严重

2. 若热备份不成功,所得结果不可用于时间点的恢复

3. 因难于维护,所以要非凡仔细小心,不答应“以失败告终”。 

数据库的逻辑备份

逻辑备份是指使用软件技术从数据库中导出数据并写入一个输出文件,该文件的格式一般与原数据库的文件格式不同,只是原数据库中数据内容的一个映像。因此,逻辑备份文件只能用来对数据库进行逻辑恢复,即数据导入,而不能按数据库原来的存储特征进行物理恢复。逻辑备份一般用于增量备份,即备份那些在上次备份以后改变的数据。

逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL),适用于中小型数据库,效率相对较低。

**本质:**导出的是SQL语句文件

**优点:**不论是什么存储引擎,都可以用mysqldump备成SQL语句

**缺点:**速度较慢,导入时可能会出现格式不兼容的突发情况,无法做增量备份和累计增量备份。

提供三种级别的备份,表级,库级和全库级

注意:

  • 数据一致,服务可用:如何保证数据一致,在备份的时候进行锁表会自动锁表。锁住之后在备份。

本身为客户端工具:
远程备份语法: # mysqldump -h 服务器  -u用户名  -p密码   数据库名  > 备份文件.sql
本地备份语法: # mysqldump -u用户名  -p密码   数据库名  > 备份文件.sql
登录后复制

常用备份选项

  • -A, --all-databases

备份所有库

例:mysqldump -uroot -p'QianFeng@123' -A > /opt/a.sql

解析:-A后面不需要指定东西,直接备份整个库

  • -B, –databases bbs test mysql

备份多个数据库

例:mysqldump -uroot -p'QianFeng@123' -B db1 db2 db3 > /opt/a.sql

解析:-B 后面可以跟多个数据库,使用空格隔开

导出指定表

例:mysqldump -uroot -p'QianFeng@123' db1 table1 table2 > /opt/a.sql

解析:如果不加-B,后面默认是 库名 表名 表名 ,后面的表必须是前面的库里面的,库名是唯一的,但是表名不是。

  • –no-data,-d

不导出任何数据,只导出数据库表结构。

例:mysqldump -uroot -p'QianFeng@123' db1 -d > /opt/a.sql

解析:-d 前面需要指定好我们要备份什么数据,-d指的是只导出表的结构。

更多相关知识,请访问常见问题栏目!

以上就是按数据备份时数据库状态的不同有几种备份方式的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号