Mysql數(shù)據(jù)庫備份使用場景

你真的明白了自己所做的數(shù)據(jù)庫備份是要面對什么樣的場景的嗎?

我想任何一位維護過數(shù)據(jù)庫的人都知道數(shù)據(jù)庫是需要備份的,也知道備份數(shù)據(jù)庫是數(shù)據(jù)庫維護必不可少的一件事情。那么是否每一個人都知道自己所做的備份到底是為了應(yīng)對哪些場景的呢?抑或者說我們每個人是否都很清楚的知道,為什么一個數(shù)據(jù)庫需要作備份呢?讀到這里,我想很多讀者朋友都會嗤之以鼻, “備份的作用不就是為了防止原數(shù)據(jù)丟失嗎,這誰不知道?”。確實,數(shù)據(jù)庫的備份很大程度上的作用,就是當我們的數(shù)據(jù)庫因為某些原因而造成部分或者全部數(shù)據(jù)丟失后,方便找回丟失的數(shù)據(jù)。但是,不同類型的數(shù)據(jù)庫備份, 所能應(yīng)付情況是不一樣的,而且,數(shù)據(jù)庫的備份同時也還具有其他很多的作用。而且我想, 每個人對數(shù)據(jù)庫備份的作用的理解可能都會有部分區(qū)別。

下面我就列舉一下我個人理解的我們能夠需要用到數(shù)據(jù)庫備份的一些比較常見的情況吧。

一、數(shù)據(jù)丟失應(yīng)用場景

1、人為操作失誤造成某些數(shù)據(jù)被誤操作;

2、軟件 BUG 造成數(shù)據(jù)部分或者全部丟失;

3、硬件故障造成數(shù)據(jù)庫數(shù)據(jù)部分或全部丟失;

4、安全漏洞被入侵數(shù)據(jù)被惡意破壞;

二、非數(shù)據(jù)丟失應(yīng)用場景

5、特殊應(yīng)用場景下基于時間點的數(shù)據(jù)恢復(fù);

6、開發(fā)測試環(huán)境數(shù)據(jù)庫搭建;

7、相同數(shù)據(jù)庫的新環(huán)境搭建;

8、數(shù)據(jù)庫或者數(shù)據(jù)遷移;

上面所列出的只是一些常見的應(yīng)用場景而已,除了上面這幾種場景外,數(shù)據(jù)庫備份還會有很多其他應(yīng)用場景,這里就不一一列舉了。那么各位讀者過曾經(jīng)或是現(xiàn)在所做的數(shù)據(jù)庫備份到底是為了應(yīng)對以上哪一種(或者幾種)場景?或者說,我們所做的數(shù)據(jù)庫備份能夠應(yīng)對以上哪幾種應(yīng)用場景?不知道這個問題大家是否有考慮過。

我們必須承認,沒有哪一種數(shù)據(jù)庫備份能夠解決所有以上列舉的幾種常見應(yīng)用場景, 即使僅僅只是數(shù)據(jù)丟失的各種場景都無法通過某一種數(shù)據(jù)庫備份完美的解決,當然也就更不用說能夠解決所有的備份應(yīng)用場景了。

比如當我們遇到磁盤故障,丟失了整個數(shù)據(jù)庫的所有數(shù)據(jù),并且無法從已經(jīng)出現(xiàn)故障的硬盤上面恢復(fù)出來的時候,我們可能必須通過一個實時或者有短暫時間差的復(fù)制備份數(shù)據(jù)庫存在。當然如果沒有這樣的一個數(shù)據(jù)庫,就必須要有最近時間的整個數(shù)據(jù)庫的物理或者邏輯備份數(shù)據(jù),并且有該備份之后的所有物理或者邏輯增量備份,以期望盡可能將數(shù)據(jù)恢復(fù)到出現(xiàn)故障之前最近的時間點。而當我們遇到認為操作失誤造成數(shù)據(jù)被誤操作之后,我們需要有一個能恢復(fù)到錯誤操作時間點之前的瞬間的備份存在,當然這個備份可能是整個數(shù)據(jù)庫的備份,也可以僅僅只是被誤操作的表的備份。而當我們要做跨平臺的數(shù)據(jù)庫遷移的時候,我們所需要的又只能是一個邏輯的數(shù)據(jù)庫備份,因為平臺的差異可能使物理備份的文件格式在兩個平臺上無法兼容。

既然沒有哪一種很多中數(shù)據(jù)庫備份能夠完美的解決所有的應(yīng)用場景,而每個數(shù)據(jù)庫環(huán)境所需要面對的數(shù)據(jù)庫備份應(yīng)用場景又可能各不一樣,可能只是需要面對很多種場景中的某一種或幾種,那么我們就非常有必要指定一個合適的備份方案和備份策略,通過最簡單的技術(shù)和最低廉的成本,來滿足我們的需求。

?以上就是Mysql數(shù)據(jù)庫備份使用場景的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(www.php.cn)!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊8 分享