精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

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

為什么 MySQL 備份很重要?

MySQL 備份在保護(hù)數(shù)據(jù)完整性、防止各種不可預(yù)見的災(zāi)難、硬件故障、數(shù)據(jù)丟失、損壞和意外刪除方面發(fā)揮著關(guān)鍵作用。如果沒有可靠的備份,數(shù)據(jù)丟失的后果可能會很嚴(yán)重。企業(yè)面臨運(yùn)營中斷、財(cái)務(wù)損失、聲譽(yù)受損甚至合規(guī)違規(guī)的風(fēng)險。了解 MySQL 備份的重要性以及它們?nèi)绾谓档瓦@些風(fēng)險將有助于組織保證數(shù)據(jù)一致性、業(yè)務(wù)連續(xù)性,并確保數(shù)據(jù)在需要時安全且可恢復(fù)。

RTO 是什么?

RTO(RecoveryTimeObjective,恢復(fù)時間目標(biāo))是故障發(fā)生到業(yè)務(wù)恢復(fù)能時間點(diǎn)的最大長度。與之相關(guān)的問題是: 多久可以恢復(fù)?

RPO 是什么?

RPO(RecoveryPointObjective,恢復(fù)點(diǎn)目標(biāo))是故障發(fā)生后業(yè)務(wù)系統(tǒng)可容忍的數(shù)據(jù)丟失量。與之相關(guān)的問題是: 會丟失多少數(shù)據(jù)?

MySQL 備份類型有哪些?

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

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

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

此外,建議創(chuàng)建 binlog 文件的副本。這種做法有一個重要目的:它使我們能夠?qū)?shù)據(jù)恢復(fù)到最后一個事務(wù)。

邏輯備份

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

物理備份

簡而言之,它由數(shù)據(jù)庫目錄和文件的精確副本組成。這可以是 MySQL datadir 目錄的全部或部分副本。這種備份最常用于輕松快速地恢復(fù)或創(chuàng)建新的副本節(jié)點(diǎn),并用于解決主機(jī)故障。建議使用相同的 MySQL 版本進(jìn)行恢復(fù)。建議使用 Percona XtraBackup,因?yàn)樗梢园魏蜗嚓P(guān)文件,例如 cnf 配置文件等配置文件。

快照備份

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

二進(jìn)制日志備份

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

增量 / 差異備份

增量備份是對自上次備份以來發(fā)生更改的所有內(nèi)容的備份(二進(jìn)制日志備份是增量備份的特殊情況)。如果數(shù)據(jù)集大小很大,這是一個非常好的選擇,因?yàn)槟梢栽诒局艹踹M(jìn)行完整備份并每天運(yùn)行增量備份。此外,備份大小比完整備份小。 與增量備份相關(guān)的主要風(fēng)險是:

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

增量備份通常會對 RTO 產(chǎn)生負(fù)面影響

對于差異備份,它會復(fù)制與上次備份的差異,其優(yōu)點(diǎn)是從一個備份到下一個備份的大量數(shù)據(jù)不會發(fā)生更改,因此結(jié)果可以是明顯更小的備份。這可以節(jié)省磁盤空間。 Percona XtraBackup 支持增量備份和差異備份。

為什么需要 MySQL 備份?

當(dāng)出現(xiàn)多種問題時,需要 MySQL 備份:

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

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

數(shù)據(jù)不一致:當(dāng)人犯錯誤時,通過主節(jié)點(diǎn)或副本節(jié)點(diǎn)刪除 / 更新錯誤數(shù)據(jù)。

數(shù)據(jù)中心故障:停電或互聯(lián)網(wǎng)提供商問題。

立法 / 法規(guī):提供一致的商業(yè)價值和客戶滿意度。

MySQL 備份和恢復(fù)最佳實(shí)踐

在本節(jié)中,我們將探討基本的 MySQL 備份和恢復(fù)最佳實(shí)踐,以保護(hù)您的數(shù)據(jù)并確保數(shù)據(jù)庫順利運(yùn)行。

異地存儲

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

加密

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

恢復(fù)測試

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

保留要求

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

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

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

備份服務(wù)器本地 30 天的 binlog 備份。

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

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

驗(yàn)證 MySQL 備份

因此,您已經(jīng)獲得了遵循所有最佳實(shí)踐的備份過程。那你怎么知道備份成功了?你看過文件大小嗎?您是否只檢查創(chuàng)建了一個文件?也許您只查看了您使用的工具的退出代碼? “在驗(yàn)證備份之前,你還沒有進(jìn)行備份。” 很好的建議。換句話說,您所做的每個備份都可以被視為薛定諤的備份;在你驗(yàn)證之前,能確定它有效嗎? 這里的最佳實(shí)踐是使用您創(chuàng)建的備份簡單地恢復(fù) MySQL 服務(wù)器;然而,你創(chuàng)造了它。處理此恢復(fù)的機(jī)器不需要像源一樣強(qiáng)大;一個簡單的虛擬機(jī)就可以管理這項(xiàng)任務(wù),并且可以很好地實(shí)現(xiàn)自動化。 您可以使用 mysql 客戶端本身恢復(fù) 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 確實(shí)需要更多步驟,但物理備份始終是最快的備份方式和最快的恢復(fù)方式。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9021

    瀏覽量

    85183
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3765

    瀏覽量

    64276
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    802

    瀏覽量

    26444
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    77

    瀏覽量

    10380

原文標(biāo)題:MySQL備份恢復(fù)最佳實(shí)踐:終極指南

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MySQL零基礎(chǔ)入門教程!

    大家比較熟悉的勁舞團(tuán)、魔獸世界、Second Life等。很少能看到哪個網(wǎng)絡(luò)游戲數(shù)據(jù)庫不是采用MySQL數(shù)據(jù)庫的。此外,MySQL數(shù)據(jù)庫已成功應(yīng)用于中國外匯交易中心、中國移動、國家電網(wǎng)等許多
    發(fā)表于 06-17 14:54

    0基礎(chǔ)學(xué)Mysql:mysql入門視頻教程!

    DDL語句第5節(jié) SQL語句之DML語句和DCL第6節(jié) SQL語句課堂實(shí)踐精確授權(quán)優(yōu)先第7節(jié) 復(fù)習(xí)MySQL基礎(chǔ)第8節(jié) 破解MariaDB 5.5 root密碼第9節(jié) MySQL備份的分類和
    發(fā)表于 07-08 10:51

    mysql零基礎(chǔ)入門視頻教程免費(fèi)分享!

    SQL語句之DML語句和DCL第6節(jié) SQL語句課堂實(shí)踐精確授權(quán)優(yōu)先第7節(jié) 復(fù)習(xí)MySQL基礎(chǔ)第8節(jié) 破解MariaDB 5.5 root密碼第9節(jié) MySQL備份的分類和備份的兩大
    發(fā)表于 07-13 11:08

    免費(fèi)分享: MySQL零基礎(chǔ)入門教程!

    比較熟悉的勁舞團(tuán)、魔獸世界、Second Life等。很少能看到哪個網(wǎng)絡(luò)游戲數(shù)據(jù)庫不是采用MySQL數(shù)據(jù)庫的。此外,MySQL數(shù)據(jù)庫已成功應(yīng)用于中國外匯交易中心、中國移動、國家電網(wǎng)等許多項(xiàng)目中。課程
    發(fā)表于 08-11 09:56

    基于linux的mysql數(shù)據(jù)庫每天自動備份定時備份的實(shí)現(xiàn)

    linux下如何實(shí)現(xiàn)mysql數(shù)據(jù)庫每天自動備份定時備份
    發(fā)表于 05-10 17:10

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

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

    MySQL基礎(chǔ)架構(gòu)自動化測試分析

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

    Linux教程之linux下如何備份還原mysql數(shù)據(jù)庫

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

    如何完成Mysql主從復(fù)制的在線配置

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

    PHP的Mysql數(shù)據(jù)庫備份腳本詳細(xì)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PHP的Mysql數(shù)據(jù)庫備份腳本詳細(xì)資料免費(fèi)下載。
    發(fā)表于 06-19 17:15 ?5次下載

    PHP的Mysql數(shù)據(jù)庫備份腳本的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PHP的Mysql數(shù)據(jù)庫備份腳本的程序免費(fèi)下載。
    發(fā)表于 06-28 15:37 ?2次下載

    mysql數(shù)據(jù)庫備份與還原

    MySQL是一種常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),用于存儲和管理數(shù)據(jù)。備份和還原數(shù)據(jù)庫是非常重要的操作,可以保護(hù)數(shù)據(jù)免受丟失或損壞的影響。本文將詳細(xì)介紹MySQL數(shù)據(jù)庫的
    的頭像 發(fā)表于 11-23 14:32 ?1147次閱讀

    mysql備份還原哪些方法

    MySQL是一個開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),備份和還原是保證數(shù)據(jù)安全性和可恢復(fù)性的重要措施。本文將詳細(xì)介紹MySQL備份和還原的方法,包括物
    的頭像 發(fā)表于 11-23 14:35 ?967次閱讀

    mysql中表分區(qū)的備份與恢復(fù)

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

    mysql定時備份任務(wù)

    在生產(chǎn)環(huán)境上,為了避免數(shù)據(jù)的丟失,通常情況下都會定時的對數(shù)據(jù)庫進(jìn)行備份。而Linux的crontab指令則可以幫助我們實(shí)現(xiàn)對數(shù)據(jù)庫定時進(jìn)行備份。首先我們來簡單了解crontab指令,如果你會了請?zhí)较乱粋€內(nèi)容mysql
    的頭像 發(fā)表于 10-31 10:07 ?130次閱讀