当前位置:首页 > 技术分析 > 正文内容

「干货分享」数据库备份与恢复,这些你一定要了解

ruisui884周前 (03-31)技术分析18

在数据作为重要的生产要素的时代,数据早已成为各行各业的生命源泉,数据安全的重要性不言而喻。数据备份是数据安全的基础,完整的备份和有效的恢复手段是应对突发状况的重要保障,保证数据在被人为失误、操作不当、蓄意等情况下删除或损坏后,能及时、有效的进行恢复并不会很大程度上影响到业务运行。同时数据备份也对数据的重新利用,发挥数据更大价值,有着重大的作用。

数据库备份有多种

按照备份后的文件类型可以分为物理备份(文件系统级别的备份)和逻辑备份(备份文件是SQL文件或特定格式的导出文件);
按照备份时是否停止数据库服务分为冷备份(备份时停止数据库服务)和热备份(备份时数据库服务开启并可访问);
按照备份数据库是否完整可分为全量备份(备份是完整的数据库)和增量备份(备份是全量备份后数据库改变的内容)。
优炫数据库UXDB作为新一代数据库软件,提供完善的数据存储与数据管理功能,具有众多优异的产品特性,满足客户多种业务场景需求。

UXDB拥有多种多样的备份恢复方法

文件系统级别的冷备份

文件系统级别备份需停止数据库服务,复制数据文件的完整目录到它处,恢复数据库时,将它处的数据目录复制回原来的位置即可,实际工作中应用较少。

直接复制UXDB用于存储数据库中数据的文件:

o 本地集群

tar -jcv -f backup.tar.bz2 clusterdir(本地集群所在路径)

恢复:

tar-jxv-f backup.tar.bz2 -C /home/uxdb/uxdbinstall/dbsql/bin

o 分布式集群

mkdir /mnt/volume

mount.uxfs dirhost:port/volume(分布式集群所在volume名称) /mnt/volume

tar -jcv -f backup01.tar.bz2 /mnt/volume/uxdbuxfs(分布式集群挂载路径)

恢复:

tar -jxv -f backup01.tar.bz2 -C /mnt/volume/

这种方法有两个限制:

1. 为了得到一个可用的备份,数据库服务器必须被关闭。禁止所有连接等不彻底的措施是无用的(不仅因为tar和类似的工具在备份时并不对文件系统的状态做原子快照,而且服务器内部存在缓冲数据)。同样,恢复数据之前也需要关闭服务器。

2. 文件级别冷备份的策略不适用于希望通过表和数据库相应的文件或目录来备份或恢复特定的表和数据库。因为包含在这些文件中的信息只有配合提交日志文件(ux_xact/*)才有用,提交日志文件包含了所有事务的提交状态。表文件只有和这些信息一起才有用。当然也不可能只恢复一个表及相关的ux_xact数据,因为这会导致数据库集群中所有其他表变得无用。因此文件级别冷备份只适合于完整地备份或恢复整个数据库集群。

SQL转储

SQL转储为逻辑热备,备份工作通常由数据库超级用户在任何可以访问该数据库的远端主机上完成。备份时,无需停止数据库服务。备份会产生一个脚本文件,包含备份开始时已创建的各种数据库对象的SQL语句和各表中的数据。ux_dump只备份数据库中的某数据库的数据,不会导出角色和表空间等相关信息。ux_dumpall对集簇中的每个数据库执行ux_dump来完成该工作,还转储所有数据库公用全局对象,包括数据库用户和组、表空间以及适合所有数据库的访问权限等属性。此外,在离线集群中可使用ux_checksums启停页校验。

恢复工作通过执行备份文件中的SQL命令对数据库进行恢复。ux_dump生成的文本文件可以由uxsql程序读取。为保证您的备份保持更新,您可以通过往cron table中加入ux_dump或者是ux_dumpall命令定期执行备份工作。

恢复完成后,建议在每个数据库上运行vacuumdb分析数据库,保证优化器的统计数据最新。备份的文件较大时,您可以通过操作系统对备份文件进行压缩、分割或合并。

连续归档备份

连续归档策略是把文件系统级别的全量备份和WAL级别的增量备份结合起来,当需要恢复时,先恢复文件系统级别的备份,然后重放备份的WAL文件。系统支持全量、增量、热备、冷备等多种形式,支持数据并行备份与并行恢复,恢复系统到之前的某个状态。

连续归档的优点是不需要完美一致的文件系统备份作为开始点,备份中的任何内部不一致性将通过日志重放来修正。连续归档可在任何点停止重放,使数据库恢复到当时状态。可连续地将一系列WAL文件输送给另一台已载入相同基础备份文件的机器,从而得到一个实时的热备份系统。

*区别于为应对意外事件造成的数据丢失问题的备份,容灾是为了在遭遇灾害时能保证信息数据库系统仍能正常运行,帮助企业实现业务连续性目标。

UXDB支持基于应用程序、数据库、存储设备的远程复制和操作系统级镜像的远程镜像等多种方法。支持同城双中心灾备、二地三中心或三地六中心的异地灾备方案。

数据恢复

UXDB支持丰富的数据恢复操作,操作分为多个层面。

第一个层面是数据库,用户可以根据需要进行恢复所有数据库,恢复单个数据库。

第二个层面是表,用户可以进行对单个表的数据恢复。

第三个层面是操作层面,用户可以连续归档的热备份方式来达到恢复数据库到某个时间点,即Point-in-time Recovery(PITR)来恢复误操作。支持块修复功能。支持闪回功能开关功能、支持指定时间点或指定时间段的闪回查询功能,支持恢复回收站里的表功能、支持清空回收站里的表功能。

数据备份和恢复,是所有DBA和系统运维人的必修课。为了避免因为数据丢失或者误差而产生无法挽回的损失,要制定完善的数据安全管理方案,在数据库正常运行时进行备份,发生故障以后当机立断建重建数据库进行恢复, 是对数据库行之有效的保护措施,从而真正的提高数据的安全性与可靠性。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3211.html

标签: 数据库导出
分享给朋友:

“「干货分享」数据库备份与恢复,这些你一定要了解” 的相关文章

Linux世界的多样性:yum和apt的对比,让你感受不同发行版的特色

yum和apt是两种常用的Linux软件包管理器,它们都可以用来安装、更新和删除软件包。但是,它们之间也有一些重要的区别,本文将对它们进行分析对比。yum是Yellowdog Updater Modified的缩写,它是基于RPM(Red Hat Package Manager)的软件包管理器,主要...

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发人员要本地新建分支然后在提交上来列出修改了哪些细节管理员可以管理这些分支合并到master6、指派合...

java调用API操作GitLab

最近需要在一个WEB项目中集成GitLab,用到了GitLab的API操作,在网上找了很久都是说直接调用GitLab的Http接口,而且API官方只有javadoc没有其它说明文档,特别记录下,以备查询。这里采用Token的认证方式,因此需要先登陆GitLab新建一个Token,创建方式如下:创建完...

el-table内容\n换行解决办法

问题请求到的数据带有换行符 '\n'但页面展示时不换行statusRemark: "\"1、按期完成计划且准确率100%,得100分;\n2、各项目每延误1天,扣1分;每失误1次或者员工投诉1次,扣3分,失误层面达到公司级影响较大的,该项绩效分数为0\"\n&...

佳能 EOS R8 深度评测

佳能 EOS R8 的定位是入门级全画幅无反光镜可换镜头相机。尽管在产品阵容中处于这一位置,R8 仍然是一个强大的相机,配备了先进的 R6 II 同款成像传感器、快速处理器和令人难以置信的自动对焦系统,体积小、重量轻、价格低。这款相机是发烧友、旅行者、家庭以及任何想要全画幅传感器相机的人的绝佳选择。...

vue3使用vue-router路由(路由懒加载、路由传参)

vue-router 是 vue的一个插件库1. 专门用来实现一个SPA单页面应用2 .基于vue的项目基本都会用到此库SPA的理解1) 单页Web应用(single page web application,SPA)2) 整个应用只有一个完整的页面3) 点击页面中的链接不会刷新页面, 本身也不会向...