在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么MySQL備份很重要?MySQL備份類型有哪些?

OSC開源社區 ? 來源:愛可生開源社區 ? 2023-11-14 10:20 ? 次閱讀

隨著企業和應用程序越來越依賴 MySQL 數據庫來管理其關鍵數據,確保數據可靠性和可用性變得至關重要。在這個數字信息時代,強大的備份和恢復策略是應用程序穩定性的支柱。 本文中,我們將回顧所有常用的 MySQL 備份和恢復策略,它們是任何應用程序的基石。對應您的特定場景,有多個選項可供選擇,每個選項都要求我們考慮相關問題以做出明智的決策。

為什么 MySQL 備份很重要?

MySQL 備份在保護數據完整性、防止各種不可預見的災難、硬件故障、數據丟失、損壞和意外刪除方面發揮著關鍵作用。如果沒有可靠的備份,數據丟失的后果可能會很嚴重。企業面臨運營中斷、財務損失、聲譽受損甚至合規違規的風險。了解 MySQL 備份的重要性以及它們如何降低這些風險將有助于組織保證數據一致性、業務連續性,并確保數據在需要時安全且可恢復。

RTO 是什么?

RTO(RecoveryTimeObjective,恢復時間目標)是故障發生到業務恢復能時間點的最大長度。與之相關的問題是: 多久可以恢復?

RPO 是什么?

RPO(RecoveryPointObjective,恢復點目標)是故障發生后業務系統可容忍的數據丟失量。與之相關的問題是: 會丟失多少數據?

MySQL 備份類型有哪些?

MySQL 備份類型主要有兩種:物理備份和邏輯備份。下面我們將提供對這兩種備份類型以及其他一些策略的更多見解。

物理(Percona XtraBackup、RDS/LVM 快照、MySQL Enterprise Backup),只要將 MySQL 服務關閉,也可以使用 cp 或 rsync 命令行來復制數據目錄 datadir。

邏輯(mysqldump、mydumper、mysqlpump、mysql shell 僅適用于 MySQL 8)。

此外,建議創建 binlog 文件的副本。這種做法有一個重要目的:它使我們能夠將數據恢復到最后一個事務。

邏輯備份

這是邏輯數據庫結構(CREATE DATABASE、CREATE TABLE 語句)和內容(INSERT 語句)的轉儲。建議將其用于較小量的數據。如果與物理備份相比,此方法的缺點是速度較慢(備份和恢復)。如果需要,您可以使用 mydumper 備份和恢復單個數據庫或單個表,這對于將某些數據復制到不同的環境以運行測試非常有用。另外,mydumper 可以進行一致(只要所有表都是 InnoDB 引擎)備份并提供準確的主從日志位置。 輸出比物理備份大,特別是以文本格式保存時,但它可以根據您使用的軟件即時壓縮。例如,mydumper 可以壓縮,而 mysqldump 需要添加一個管道將輸出重定向到 gzip 文件。 邏輯備份用于解決數據損壞或恢復表子集的需要。

物理備份

簡而言之,它由數據庫目錄和文件的精確副本組成。這可以是 MySQL datadir 目錄的全部或部分副本。這種備份最常用于輕松快速地恢復或創建新的副本節點,并用于解決主機故障。建議使用相同的 MySQL 版本進行恢復。建議使用 Percona XtraBackup,因為它可以包含任何相關文件,例如 cnf 配置文件等配置文件。

快照備份

某些文件系統實現允許存儲 “快照”。它們提供給定時間點的文件系統的邏輯副本,而不需要整個文件系統的物理副本。MySQL 本身不提供獲取文件系統快照的功能,但可以使用 LVM 或 ZFS 等第三方解決方案來實現。 缺點是有時物理備份不會壓縮太多,因為數據通常是二進制格式,有時表已經被壓縮。

二進制日志備份

Binlog 備份專門針對 RPO。二進制日志文件包含執行的每個發生更改的 SQL 查詢的記錄。 從 MySQL 5.6 開始,您可以使用 mysqlbinlog 從遠程服務器流式傳輸二進制日志。可以將二進制日志備份與 Percona XtraBackup 或 mydumper 備份結合起來,以允許恢復到最近備份的二進制日志的末尾。

增量 / 差異備份

增量備份是對自上次備份以來發生更改的所有內容的備份(二進制日志備份是增量備份的特殊情況)。如果數據集大小很大,這是一個非常好的選擇,因為您可以在本周初進行完整備份并每天運行增量備份。此外,備份大小比完整備份小。 與增量備份相關的主要風險是:

單個損壞的增量備份可能會使所有其他備份失效

增量備份通常會對 RTO 產生負面影響

對于差異備份,它會復制與上次備份的差異,其優點是從一個備份到下一個備份的大量數據不會發生更改,因此結果可以是明顯更小的備份。這可以節省磁盤空間。 Percona XtraBackup 支持增量備份和差異備份。

為什么需要 MySQL 備份?

當出現多種問題時,需要 MySQL 備份:

主機故障:我們可能會因磁盤停滯或磁盤損壞而遇到多種問題。同樣,在云服務中,我們的數據庫實例可能會損壞并且無法訪問。

數據損壞:這可能發生在斷電時,MySQL 無法正確寫入并關閉文件,有時當 MySQL 再次啟動時,由于數據損壞而無法啟動,并且崩潰恢復過程無法修復它。

數據不一致:當人犯錯誤時,通過主節點或副本節點刪除 / 更新錯誤數據。

數據中心故障:停電或互聯網提供商問題。

立法 / 法規:提供一致的商業價值和客戶滿意度。

MySQL 備份和恢復最佳實踐

在本節中,我們將探討基本的 MySQL 備份和恢復最佳實踐,以保護您的數據并確保數據庫順利運行。

異地存儲

強烈建議將所有備份方法復制到另一個地方,例如云或外部文件服務器,這樣在主機故障或數據中心故障的情況下,確保還有另一個副本。 并非所有備份文件都需要上傳到云端,有時您需要花費在下載上的時間比恢復過程中消耗的時間還要多。 一個好的方法是在備份服務器上本地保留 1-7 天,以便需要快速恢復,這取決于您的業務法規。

加密

備份包含敏感數據,因此強烈建議加密,尤其是異地存儲。當您需要恢復備份時,這會增加更多時間,但可以保證數據安全。 GPG 是加密備份的一個不錯的選擇,如果您使用此選項或其他替代方案,請不要忘記獲取密鑰 / 密碼的副本。如果丟失,您的備份將毫無用處。

恢復測試

根據您的業務,強烈建議每月至少測試一次備份。此操作可驗證您的備份未損壞,并提供有關恢復時間的關鍵指標。此過程應該自動化,以獲取完整備份、恢復它,并最終將此服務器配置為當前主服務器或另一個副本的副本。這也有助于驗證復制過程沒有錯誤。 許多客戶正在使用這種方法來刷新他們的 QA/STG 環境,以便從生產備份中獲取最新數據。 除了上述內容之外,建議創建手動或自動恢復文檔流程,以將所有步驟放在一起,以便在發生災難時,您可以遵循它而不會浪費時間。

保留要求

最后但并非最不重要的一點是,保留不同備份類型的多個副本非常重要。 我們最好的建議是:

備份服務器本地的一到兩個物理備份(只要空間允許)。

備份服務器上本地的每日 7 次和每周 4 次邏輯備份。

備份服務器本地 30 天的 binlog 備份。

對于異地備份(如 S3、Google Cloud 等),每月備份保留一年或更長時間。

對于本地備份,請記住,您至少需要當前數據集大小 2.5 倍的可用磁盤空間來保存 / 滿足這些保留策略。不要忘記加密所有備份類型! 法律或監管要求也可能規定數據必須存檔多長時間。

驗證 MySQL 備份

因此,您已經獲得了遵循所有最佳實踐的備份過程。那你怎么知道備份成功了?你看過文件大小嗎?您是否只檢查創建了一個文件?也許您只查看了您使用的工具的退出代碼? “在驗證備份之前,你還沒有進行備份。” 很好的建議。換句話說,您所做的每個備份都可以被視為薛定諤的備份;在你驗證之前,能確定它有效嗎? 這里的最佳實踐是使用您創建的備份簡單地恢復 MySQL 服務器;然而,你創造了它。處理此恢復的機器不需要像源一樣強大;一個簡單的虛擬機就可以管理這項任務,并且可以很好地實現自動化。 您可以使用 mysql 客戶端本身恢復 mysqldump:

zcat my_full_backup.sql.gz | mysql

使用 mydumper/myloader:

myloader --directory dump_dir --overwrite-tables --verbose=3

Percona XtraBackup:

# Prepare the backup
xtrabackup --prepare --parallel 4 --use-memory 4G --target-dir /var/backup
 
# Copy backup to original location (ie: /var/lib/mysql), assuming backup taken on same host
xtrabackup --copy-back --target-dir /var/backup
 
# Fix file permissions if necessary
chown -R mysql:mysql /var/lib/mysql
 
# Start MySQL
systemctl start mysql

是的,Percona XtraBackup 確實需要更多步驟,但物理備份始終是最快的備份方式和最快的恢復方式。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9332

    瀏覽量

    86132
  • 數據庫
    +關注

    關注

    7

    文章

    3852

    瀏覽量

    64724
  • MySQL
    +關注

    關注

    1

    文章

    831

    瀏覽量

    26760
  • 命令行
    +關注

    關注

    0

    文章

    78

    瀏覽量

    10423

原文標題:MySQL備份恢復最佳實踐:終極指南

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MySQL零基礎入門教程!

    大家比較熟悉的勁舞團、魔獸世界、Second Life等。很少能看到哪個網絡游戲數據庫不是采用MySQL數據庫的。此外,MySQL數據庫已成功應用于中國外匯交易中心、中國移動、國家電網等許多
    發表于 06-17 14:54

    0基礎學Mysql:mysql入門視頻教程!

    DDL語句第5節 SQL語句之DML語句和DCL第6節 SQL語句課堂實踐精確授權優先第7節 復習MySQL基礎第8節 破解MariaDB 5.5 root密碼第9節 MySQL備份的分類和
    發表于 07-08 10:51

    免費分享: MySQL零基礎入門教程!

    比較熟悉的勁舞團、魔獸世界、Second Life等。很少能看到哪個網絡游戲數據庫不是采用MySQL數據庫的。此外,MySQL數據庫已成功應用于中國外匯交易中心、中國移動、國家電網等許多項目中。課程
    發表于 08-11 09:56

    基于linux的mysql數據庫每天自動備份定時備份的實現

    linux下如何實現mysql數據庫每天自動備份定時備份
    發表于 05-10 17:10

    如何用labview對數據庫進行備份/如何在MySql中使用命令的方式進行數據庫備份(非cmd窗口非手動保存)

    想要使用labview對數據庫進行備份,但是不清楚語句,在網上查找的信息中,顯示如果要備份數據庫兩個方法1:使用命令mysqldump ,但是mysqldump 命令必須在 cmd 窗口下執行
    發表于 07-15 16:48

    MySQL基礎架構自動化測試分析

    MySQL對于GitHub的重要性不言而喻,本文作者從MySQL備份、自動測試能否成功從備份恢復數據、模擬各種 master 可能掛掉的情
    發表于 09-28 16:47 ?0次下載
    <b class='flag-5'>MySQL</b>基礎架構自動化測試分析

    Linux教程之linux下如何備份還原mysql數據庫

    本文介紹了linux下如何備份與恢復mysql數據庫。數據庫備份是非常重要的。如果定期做好備份,這樣就可以在發生系統崩潰時恢復數據到最后一次
    發表于 10-19 17:18 ?4次下載

    如何完成Mysql主從復制的在線配置

    Percona XtraBackup(簡稱PXB)是 Percona 公司開發的一個用于 MySQL 數據庫物理熱備的備份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部開源,可
    的頭像 發表于 07-29 18:27 ?2190次閱讀
    如何完成<b class='flag-5'>Mysql</b>主從復制的在線配置

    PHP的Mysql數據庫備份腳本詳細資料免費下載

    本文檔的主要內容詳細介紹的是PHP的Mysql數據庫備份腳本詳細資料免費下載。
    發表于 06-19 17:15 ?5次下載

    PHP的Mysql數據庫備份腳本的程序免費下載

    本文檔的主要內容詳細介紹的是PHP的Mysql數據庫備份腳本的程序免費下載。
    發表于 06-28 15:37 ?2次下載

    mysql數據庫備份與還原

    MySQL是一種常見的關系型數據庫管理系統,用于存儲和管理數據。備份和還原數據庫是非常重要的操作,可以保護數據免受丟失或損壞的影響。本文將詳細介紹MySQL數據庫的
    的頭像 發表于 11-23 14:32 ?1284次閱讀

    mysql備份還原哪些方法

    MySQL是一個開源的關系型數據庫管理系統,備份和還原是保證數據安全性和可恢復性的重要措施。本文將詳細介紹MySQL備份和還原的方法,包括物
    的頭像 發表于 11-23 14:35 ?1030次閱讀

    mysql中表分區的備份與恢復

    MySQL的表分區是一種將大型表分成更小段的技術,這樣可以提高查詢效率、降低維護成本和減少數據備份恢復時間。在進行表分區的過程中,我們也需要了解如何備份和恢復這些分區,以確保數據的安全性。 一、表
    的頭像 發表于 11-23 14:39 ?1304次閱讀

    mysql定時備份任務

    在生產環境上,為了避免數據的丟失,通常情況下都會定時的對數據庫進行備份。而Linux的crontab指令則可以幫助我們實現對數據庫定時進行備份。首先我們來簡單了解crontab指令,如果你會了請跳到下一個內容mysql
    的頭像 發表于 10-31 10:07 ?218次閱讀

    windows服務器備份mysql腳本

    一、linux備份 使用python腳本,要求python3和mysqldump #! /usr/bin/python36# -*- coding: utf-8 -*-import
    的頭像 發表于 01-02 09:14 ?126次閱讀
    主站蜘蛛池模板: 国产黄色三级三级三级 | 欧美大香a蕉免费 | h在线观看视频免费网站 | 华人黄网站大全 | аⅴ资源天堂8在线 | 伊人小婷婷色香综合缴缴情 | 狠狠操欧美 | 黄色的视频在线免费观看 | 97视频人人 | 亚洲女同一区二区 | 天天爽夜夜春 | 办公室桌震娇喘视频大全在线 | 视频在线观看一区 | 欧美在线播放 | 国产亚洲午夜精品a一区二区 | 天堂avwww | 激情亚洲综合网 | 四虎国产精品永久在线 | 寡妇一级a毛片免费播放 | 久久视频精品36线视频在线观看 | 亚洲天堂视频在线观看免费 | 黄色免费网站在线观看 | 国产亚洲欧美成人久久片 | 日本三级香港三级人妇99 | 亚洲免费视频一区二区三区 | 在线欧美三级 | 男男污肉高h坐便器调教 | 美国一级毛片免费看成人 | 六月天色婷婷 | 手机在线看片福利 | 天天干在线观看 | 人人艹人人插 | 色视频欧美 | 久久久久国产午夜 | 美国色综合 | 久久精品夜色国产 | 免费色黄网站 | 西西人体大胆高清啪啪欧洲 | 婷婷国产| 久久在精品线影院精品国产 | 在线中文字幕第一页 |