最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)備份方法的選擇與思考

 更新時(shí)間:2021年03月23日 11:47:00   作者:AsiaYe  
這篇文章主要介紹了MySQL數(shù)據(jù)備份方法該如何選擇,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下

       從事DBA的行業(yè)也有兩年多了,在數(shù)據(jù)備份上無論是理論和實(shí)踐上,都積累了一些經(jīng)驗(yàn),恰逢這兩天又出現(xiàn)一些數(shù)據(jù)備份方面的問題,這里,我將之前遇到過的數(shù)據(jù)備份方法簡單做個(gè)整理。

       我們都知道,保障數(shù)據(jù)庫的穩(wěn)定、安全、高效運(yùn)行,是DBA的工作職責(zé)所在。對于DBA來講,要想實(shí)現(xiàn)數(shù)據(jù)安全,數(shù)據(jù)備份可能是至關(guān)重要的一個(gè)環(huán)節(jié)。

       我曾經(jīng)就遇到過一個(gè)案例,業(yè)務(wù)方誤刪數(shù)據(jù)引發(fā)故障,要求DBA恢復(fù)數(shù)據(jù),結(jié)果發(fā)現(xiàn)當(dāng)天的數(shù)據(jù)沒有備份,場面一度十分尷尬,本來這個(gè)故障是業(yè)務(wù)引發(fā)的,但是由于沒有數(shù)據(jù)備份,最后業(yè)務(wù)和DBA各打五十大板,一起背鍋。如果業(yè)務(wù)沒有要求DBA恢復(fù)數(shù)據(jù),那么DBA完全可以后續(xù)悄悄的將數(shù)據(jù)備份,最后就可以免于被牽連,當(dāng)然,生產(chǎn)環(huán)境沒有如果。

       備份的重要性,自然不言而喻,那么我們常見的備份思路,都可以有哪些呢?根據(jù)備份是否影響線上環(huán)境,大體可以分為冷備、熱備2種方法,其中冷備可以理解是對線上業(yè)務(wù)有影響,需要離線備份,而熱備是對線上業(yè)務(wù)沒有影響或者影響比較小。

       我自己總結(jié)了以下方法:

1、rsync、cp拷貝文件

這種方法比較暴力,就是直接停止MySQL數(shù)據(jù)庫,然后通過cp、rsync這種Linux物理文件復(fù)制命令,來實(shí)現(xiàn)數(shù)據(jù)的備份。

其中:

cp特指的是備份到當(dāng)前服務(wù)器的其他目錄

rsync特指的是備份到其他服務(wù)器上

這種方法,要注意下面幾點(diǎn):

a、那對于線上環(huán)境來講,rsync的方法會更好,因?yàn)槿绻?wù)器宕機(jī)了,cp方法備份也會不可用。

b、rsync和cp的方法,都需要在主從架構(gòu)的從庫上,或者是指定備份庫上進(jìn)行。(這里我推薦線上環(huán)境使用一主一從一備份的復(fù)制架構(gòu))

冷備份的最大的優(yōu)點(diǎn)是速度快、操作簡單。

適合大數(shù)據(jù)庫的日常備份。

2、select xxx into outfile語法

    這種方法,其實(shí)往往不能叫做備份,因?yàn)樗鋵?shí)只備份了一個(gè)表的數(shù)據(jù),但是它非常有用。

    試想這樣一種場景,業(yè)務(wù)方讓你update幾百條數(shù)據(jù),而表中的數(shù)據(jù)有上千萬條,這個(gè)時(shí)候,如果備份全表,就顯得不那么靈活,而且耗費(fèi)的時(shí)間較長。如果我們使用select的語法,將這些需要修改的數(shù)據(jù),先保存到一個(gè)txt的文件中,即使update之后,業(yè)務(wù)反饋和預(yù)期不符,也能快速的找到update之前的樣子,可以極大的縮短你恢復(fù)數(shù)據(jù)的時(shí)間。

這種備份方法適合單個(gè)表的某一部分?jǐn)?shù)據(jù)變更前的備份。

3、延時(shí)從庫

    在MySQL中,這種備份方案相對比較少,在MongoDB中,延時(shí)從庫非常常見。但是延時(shí)從庫是一種比較好的在線備份手段,它最主要的特點(diǎn)是恢復(fù)的可能性高。

    有些時(shí)候,你辛苦備份的數(shù)據(jù),在其他服務(wù)器上,因?yàn)楦鞣N依賴或者版本問題,導(dǎo)致無法還原一個(gè)MySQL實(shí)例,這就比較尷尬,而延時(shí)從庫可以很好的解決這個(gè)問題,因?yàn)楸旧韽膸焓沁\(yùn)行中的,所以不用擔(dān)心庫起不來的情況。

    延時(shí)從庫的備份方案中,要控制從庫的延時(shí)時(shí)間,如果設(shè)置的過短,可能在主庫上引發(fā)問題的SQL已經(jīng)在從庫上執(zhí)行過了,那么就起不到延時(shí)的效果,那延時(shí)從庫就失去意義了。

4、邏輯備份mysqldump

    這可能是最常見的一種MySQL備份方式了,mysqldump這個(gè)官方提供的備份工具,可以提供給你某個(gè)時(shí)間點(diǎn)的一致性快照,可以很清楚的知道當(dāng)前的時(shí)間點(diǎn),MySQL數(shù)據(jù)庫執(zhí)行到了那個(gè)binlog的位點(diǎn),恢復(fù)的精確性很高。而且,它支持指定庫表備份等,功能非常強(qiáng)大。

     它適合數(shù)據(jù)量在50G以下的數(shù)據(jù)庫備份,超過50G,恢復(fù)的時(shí)候會特別慢。

     這個(gè)不必多說,大家都知道。

     記得加--single-transaction,要不然可能會出現(xiàn)鎖表,業(yè)務(wù)無法寫入的問題,曾經(jīng)有個(gè)小兄弟在這里栽倒了。

     它的特點(diǎn)是能夠給你某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)庫快照,而且備份文件總體比較小。

5、xtrabackup備份

    這是另外一種熱備份的方式,xtrabackup備份方式可以在不影響數(shù)據(jù)庫寫入的情況下對數(shù)據(jù)庫進(jìn)行熱備,本質(zhì)其實(shí)還是物理文件拷貝,比mysqldump的速度要快。

    如果主庫讀寫壓力比較小,則可以在主庫上直接備份。不過還是建議不要在主庫上使用,因?yàn)樵?jīng)出現(xiàn)過線上主庫寫入壓力比較大,xtrabackup直接把主庫備份宕機(jī)的情況出現(xiàn),從庫上不停庫進(jìn)行xtrabackup才是相對比較安全的方法。

 它的特點(diǎn)是備份速度快,備份對線上影響比較小。

6、binlog備份

  binlog備份本質(zhì)上還是SQL語句的備份,類似mysqldump的結(jié)果,不過binlog中保留的數(shù)據(jù)比mysqldump保留的數(shù)據(jù)多一些。

   如果你擁有這個(gè)數(shù)據(jù)庫從啟動(dòng)開始所有的binlog,毋庸置疑,你可以將這個(gè)數(shù)據(jù)庫還原出來。但是所有的binlog必定是一個(gè)比較比較大的數(shù)據(jù)量,一般很難保留全量日志,所以binlog備份一般情況下需要搭配快照備份。

    我們可以在一個(gè)從庫上線停掉復(fù)制關(guān)系,然后flush log新生成一個(gè)binlog,記錄為binlog0,然后將這個(gè)從庫完整的備份拷貝一份,之后保存binlog0往后的所有binlog,這樣就能利用從庫的完整備份+binlog的方法來恢復(fù)從庫的數(shù)據(jù)。

    binlog備份適用于那些binlog寫入速度一般的數(shù)據(jù)庫,如果你的數(shù)據(jù)庫binlog刷新的速度很快,那數(shù)據(jù)容量可能會成為瓶頸。

7、clone plugin

   clone plugin是8.0的一個(gè)亮點(diǎn)功能,既可以支持?jǐn)?shù)據(jù)備份到本地,也可以支持快速遠(yuǎn)程拉起一個(gè)數(shù)據(jù)庫的從庫,是一個(gè)值得研究的備份方法。之前的文章中也有詳細(xì)些過,有興趣可以去看。也可以參考官方文檔。

    但是目前,線上環(huán)境使用的比較少,原因是大部分國產(chǎn)數(shù)據(jù)庫目前都停留在MySQL5.7版本,當(dāng)然,8.0是趨勢,沒升級的趕快升級吧。

以上就是MySQL數(shù)據(jù)備份方法該如何選擇的詳細(xì)內(nèi)容,更多關(guān)于MySQL 數(shù)據(jù)備份的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mysql索引類型與基本用法實(shí)例分析

    Mysql索引類型與基本用法實(shí)例分析

    這篇文章主要介紹了Mysql索引類型與基本用法,結(jié)合實(shí)例形式分析了Mysql索引類型中普通索引、唯一索引、主鍵索引、組合索引、全文索引基本概念、原理與使用方法,需要的朋友可以參考下
    2020-06-06
  • MySQL創(chuàng)建和刪除數(shù)據(jù)庫的命令及相關(guān)PHP腳本的操作方法

    MySQL創(chuàng)建和刪除數(shù)據(jù)庫的命令及相關(guān)PHP腳本的操作方法

    這篇文章主要介紹了MySQL創(chuàng)建和刪除數(shù)據(jù)庫的命令及相關(guān)PHP腳本的操作方法,這里主要講述Linux中在mysqladmin下的命令操作,需要的朋友可以參考下
    2015-11-11
  • 詳解MySQL 查詢語句的執(zhí)行過程

    詳解MySQL 查詢語句的執(zhí)行過程

    這篇文章主要介紹了詳解MySQL 查詢語句的執(zhí)行過程,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • MySQL之淺談DDL和DML

    MySQL之淺談DDL和DML

    大家好,本篇文章主要講的是MySQL之淺談DDL和DML,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL MyISAM默認(rèn)存儲引擎實(shí)現(xiàn)原理

    MySQL MyISAM默認(rèn)存儲引擎實(shí)現(xiàn)原理

    這篇文章主要介紹了MySQL MyISAM默認(rèn)存儲引擎實(shí)現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Mysql命令行導(dǎo)入sql數(shù)據(jù)

    Mysql命令行導(dǎo)入sql數(shù)據(jù)

    下面是在命令行下導(dǎo)入sql數(shù)據(jù)的方法,需要的朋友可以參考下。
    2010-03-03
  • 在Qt中操作MySQL數(shù)據(jù)庫的實(shí)戰(zhàn)指南

    在Qt中操作MySQL數(shù)據(jù)庫的實(shí)戰(zhàn)指南

    QT連接Mysql數(shù)據(jù)庫的步驟相對繁瑣,但是也是一個(gè)不錯(cuò)的學(xué)習(xí)經(jīng)歷,下面這篇文章主要給大家介紹了關(guān)于在Qt中操作MySQL數(shù)據(jù)庫的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • MySQL中的常用函數(shù)

    MySQL中的常用函數(shù)

    這篇文章主要介紹了MySQL中的常用函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • 數(shù)據(jù)庫連接池以及sequelize實(shí)現(xiàn)增刪改查等操作指南

    數(shù)據(jù)庫連接池以及sequelize實(shí)現(xiàn)增刪改查等操作指南

    Sequelize的連接需要傳入?yún)?shù),并且可以配置開啟線程池、讀寫分庫等操作,下面這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫連接池以及sequelize實(shí)現(xiàn)增刪改查等操作的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • MySQL主備操作以及原理詳解

    MySQL主備操作以及原理詳解

    本文主要介紹了MySQL主備操作以及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

平陆县| 奎屯市| 巧家县| 镇坪县| 陈巴尔虎旗| 南昌县| 剑河县| 贵德县| 隆化县| 屏东县| 安图县| 平定县| 洛隆县| 会泽县| 尖扎县| 胶南市| 新泰市| 东至县| 财经| 仪陇县| 宿州市| 吴旗县| 麻城市| 绥芬河市| 河北省| 莱西市| 海丰县| 突泉县| 枣庄市| 柳江县| 定州市| 钟山县| 方山县| 海安县| 中山市| 富民县| 昆明市| 华阴市| 平顺县| 康保县| 镶黄旗|