CodeGym /课程 /SQL SELF /备份基础入门

备份基础入门

SQL SELF
第 43 级 , 课程 0
可用

好了伙计们,又到了讲点酷故事的时候了。说真的!想象一下,你的数据库就像一本存着重要信息的书。如果你不小心把书页撕掉了,或者有条龙(或者硬盘)突然决定罢工,这时候会发生什么?无论是现实还是脑洞大开的情况,你都会丢数据。这时候备份就像是你数据的“安全绳”一样救你一命。

备份,或者说做个备份,其实就是把数据保存到另一个文件或者地方,这样遇到突发状况时就能恢复回来。

备份就是你的保险,万一哪天出事了还能救场。它能让你在硬件或软件崩溃后恢复数据,也能撤销像不小心写了个DELETE没加WHERE这种操作,还能让你轻松把数据库从开发环境搬到生产环境。还有,备份经常用来归档老数据,留着“以防万一”或者做历史记录。没有备份,关键时刻你可能啥都没了。

数据丢失的风险

来聊聊那些真的会让你数据消失的危险。这可不是开玩笑!下面这些例子,保证让每个数据库管理员都冒冷汗:

硬件故障。 硬盘会坏,U盘会丢,服务器有时候说“我要退休”就退休了。

用户失误。

比如开发者不小心执行了这样的语句:

DELETE FROM 学生;

没加WHERE。恭喜你,所有学生都被删了!(希望你不是数据库管理员)

恶意攻击。
黑客可能会攻击你的系统,把数据加密或者直接删掉。

自然灾害。
听起来像电影情节,但地震或者洪水真的能把服务器毁了。

当然,安全感永远不嫌多。还不如早点把备份搞好,总比到时候从零恢复数据库、指望龙把数据还你强多了。

备份的主要使用场景

现在你知道备份有多重要了,咱们来看看它都在哪些场景下能救你一命。

故障后恢复数据

你正忙着,突然一切都挂了——数据库、服务器、网络全崩。没备份你只能坐那儿回忆数据最后一次保存在哪。有了备份你就能很快恢复系统。一般用故障前做的那份数据副本。比如:

  • 服务器彻底挂了。 你用备份把整个数据库恢复回来。
  • 部分表损坏。 你只恢复需要的表。

服务器间迁移数据

比如你要把数据库从一台服务器搬到另一台:可能是换新硬件,或者新服务器上线。这时候备份就能帮你快速搞定。你在老服务器上做个备份,然后在新服务器上恢复。

下面是创建数据库备份的命令示例:

pg_dump -U postgres -d university -f university_backup.sql

上面这条命令会生成一个university数据库的备份文件,可以用来在别的服务器上恢复数据库。

长期归档数据

有时候你想把数据留着以后分析或者做历史记录。比如你有最近10年的订单,可以把最老的数据归档,给主库腾地方。

这样做有这些好处:

  • 让主数据库跑得更快。
  • 把有价值的历史数据保存下来,以备不时之需。

真实案例:备份救场

来几个真实故事,让你感受一下备份有多重要:

黑客攻击后的恢复。 有家公司因为勒索病毒丢了所有数据。唯一救命的就是前一天做的备份。结果只停了2小时,没丢掉生意。

开发者失误。(没想到开发者也会犯错吧?)有个学生把自己毕业论文的数据表删了。幸好有数据库备份,10分钟就全恢复了。

今天就到这里。现在你知道备份是干嘛的、能防哪些坑、多久做一次比较合适。下节课我们会深入聊聊备份的类型,帮你选最适合自己的方案。下次见!

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION