mysqlDatabase Backup方法總結

來源:互聯網
上載者:User

標籤:mysql   Database Backup   

今天有點時間,自己總結下mysql備份的幾種方法以備查閱!

    生產環境中資料無疑是一個公司的命脈,作為一個營運工程師無法保證企業資料的安全,那麼是一個不合格的工程師。我們如何保證資料不丟失、或者丟失後快速恢複呢?下面介紹mysqlDatabase Backup和恢複方法。


MYSQL基礎知識總結


1、為什麼需要備份資料?

    產生環境中我們的資料庫可能會遭遇各種各樣的不測導致資料丟失,大概有幾種情況(硬體故障、軟體故障、自然災害、駭客攻擊、誤操作(佔比最大))所以,為了在資料丟失後能恢複資料,我們就必須定期備份資料,備份資料的策略要根據不同的企業情境進行定製,我們可以根據這幾個因素取定製如何自己企業的備份策略(如:資料庫的大小、能容忍的資料丟失度、能容忍的恢復、需要恢複的資料)


2、資料備份的類型

    根據資料庫的完整度分完全備份 和部份備份(增量備份和差異備份)

    完全備份:備份整個資料庫集,

    部份備份:備份部分資料庫集(如,指備份某個資料庫,或者某個表)

       增量備份:備份自上一次備份(增量或完全)以來變化的資料;特定:節約空間、還原較麻煩。

       差異備份:備份自上一次完全備份以來變化的資料;特定:浪費空間,還原比增量還原簡單。


3、mysql的備份方式

    

    熱備份:指Database Backup時,資料庫讀寫不受影響

    溫備份:指Database Backup時,資料庫唯讀,不能寫操作

    冷備份:指Database Backup時,資料庫不能進行讀寫操作,即資料庫要下線。

    

    資料庫的不同的儲存引擎支援不同的備份方式

    MyISAM :支援 溫備、冷備

    InnoDB :支援 熱備 、溫備、冷備

    

    物理備份:通過tar,cp等命令直接打包複製資料庫的資料檔案達到備份的效果。

    邏輯備份:通過特定的工具從資料庫中匯出資料或SQL語句並另存備份(會遺失資料的精度)


4、備份需要考慮的問題

    (1)我們需要備份什麼資料?

       資料、二進位日誌,innodb交易記錄、代碼(預存程序、函數庫、觸發器、調度器)、設定檔

    (2)備份工具如何選擇

       mysqldump:邏輯備份工具,適用於所有的儲存引擎,支援溫備份、完全備份和部份備份;對應innodb支援熱備份。

       cp\tar:物理備份工具,適用於所有儲存引擎,冷備、完全備份、部份備份

       lvm2 snapshot:幾乎熱備,藉助檔案系統管理工具進行備份

       xtrabackup:一款非常強大的innodb/xtraDB熱備份工具,支援完全備份、增量備份,由perconat提供


5、設計合適的備份策略

    針對不同的企業情境,制定不同的備份策略對資料庫進行備份,備份策略一般為三種:


  直接cp\tar 複製資料庫檔案 (適合資料庫較小,直接複製)

  mysqldump+複製binlogs  (資料量一般,先mysqldump對資料完備,然後定期備份日誌文)

  lvm2快照+複製binlogs (資料量一般,不過分影響業務運行,使用LVM2快照完備後,增量備份日誌)

  xtrabackup (資料量大,不過分影響業務運行使用xtrabackup進行完全備份後,定期進行增量或差異備份)



各種備份實戰演練


1、使用cp進行備份

yum安裝mysql,預設資料庫路徑/var/lib/msyql,如下


650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/98/F6/wKiom1lCPK7w-h3eAAAi8uzt1wY844.png-wh_500x0-wm_3-wmp_4-s_2347851270.png" style="float:none;" title="1.png" alt="wKiom1lCPK7w-h3eAAAi8uzt1wY844.png-wh_50" />

查看當前資料庫,我們的資料庫為yema ;

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/98/F6/wKiom1lCPK-DJPRHAAAdWbSAMtA553.png-wh_500x0-wm_3-wmp_4-s_4190565878.png" style="float:none;" title="2.png" alt="wKiom1lCPK-DJPRHAAAdWbSAMtA553.png-wh_50" />

查看yema資料庫中所有表,ym_001、 ym_002


650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/98/F6/wKioL1lCPLDDrBiQAAAY6D6pPpM906.png-wh_500x0-wm_3-wmp_4-s_3411742713.png" style="float:none;" title="3.png" alt="wKioL1lCPLDDrBiQAAAY6D6pPpM906.png-wh_50" />

向資料庫施加讀鎖





mysqlDatabase Backup方法總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.