MySQL 8.4 備份與恢復完全指南

本文全面解析MySQL 8.4的備份與恢復機制,涵蓋備份類型、方法、策略及實際操作示例。


一、備份類型解析

1. 物理(原始)備份 vs 邏輯備份
特性物理備份邏輯備份
原理直接復制數據庫目錄/文件(如數據文件、日志)導出邏輯結構(CREATE語句)和內容(INSERT語句或文本)
速度? 極快(僅文件復制)?? 較慢(需數據轉換和傳輸)
輸出大小? 緊湊?? 較大(尤其文本格式)
適用場景大型關鍵數據庫,需快速恢復中小數據量,需修改結構或跨平臺遷移
粒度文件級(依賴存儲引擎,如InnoDB單表或共享文件)服務器/數據庫/表級
工具mysqlbackupcprsync xtrbackupmysqldumpSELECT ... INTO OUTFILE
恢復工具mysqlbackup(InnoDB)、文件命令(MyISAM)mysql客戶端(SQL格式)、LOAD DATA(文本格式)
MEMORY表支持? 內容不落盤(企業版可部分支持)? 完全支持
可移植性? 需相似硬件環境? 機器無關

關鍵差異:物理備份通過文件復制實現高效恢復;邏輯備份通過SQL語句實現靈活遷移。


2. 在線(熱)/離線(冷)備份
類型特點
在線備份- 服務運行中,客戶端可連接
- 需鎖定保證一致性(如企業版自動鎖)
離線備份- 服務停止,簡單無干擾
- 通常從副本執行避免主庫停機

注意:恢復操作比備份需要更嚴格鎖定,可能影響客戶端訪問。


3. 其他備份維度
  • 本地/遠程備份mysqldump可遠程操作;物理備份通常需本地執行。
  • 快照備份:利用LVM/ZFS等文件系統快照(MySQL不自帶)。
  • 全量/增量備份
    • 全量:備份特定時間點所有數據。
    • 增量:通過二進制日志(Binary Log)記錄變更(需啟用 --log-bin)。
  • 時間點恢復:全量恢復 + 應用增量二進制日志實現精確恢復。

二、備份方法實踐

1. 使用MySQL企業版備份(物理備份)
# 備份整個實例(InnoDB熱備,其他引擎溫備)
$> mysqlbackup --backup-dir=/backup backup

優勢:支持壓縮/增量備份,恢復速度遠超邏輯備份。

2. 使用mysqldump(邏輯備份)
# 全庫備份(InnoDB無鎖,周日13點執行)
$> mysqldump --all-databases --source-data=2 --single-transaction > full_backup.sql# 僅備份特定表
$> mysqldump db1 table1 table2 > tables.sql

關鍵選項--single-transaction(InnoDB一致性讀)、--flush-logs(刷新日志)。

3. 增量備份策略
# 刷新日志開啟新binlog(周一13點)
$> mysqladmin flush-logs
# 備份前一個binlog(如gbichot-bin.000007)
$> cp /var/lib/mysql/gbichot-bin.000007 /backup/
4. 文件系統級備份(MyISAM)
-- 鎖定并刷新表后復制文件
FLUSH TABLES table1 WITH READ LOCK;
$> cp /var/lib/mysql/db1/table1.* /backup/
UNLOCK TABLES;

警告:不適用于InnoDB!僅MyISAM在無寫入時安全。


三、恢復實戰流程

場景:周三早8點數據庫崩潰
  1. 恢復周日全量備份
    $> mysql < full_backup.sql  # 重建數據庫結構
    
  2. 應用增量備份(binlog)
    $> mysqlbinlog gbichot-bin.000007 gbichot-bin.000008 | mysql
    
  3. 應用崩潰前日志(若binlog未損壞)
    $> mysqlbinlog gbichot-bin.000009 | mysql  # 恢復至故障點
    

核心原則:全量備份 + 增量binlog = 精確時間點恢復。


四、高級技巧與策略

1. 存儲程序備份
# 包含事件/存儲過程/觸發器
$> mysqldump --events --routines --triggers db1 > with_routines.sql
2. 分離表結構與數據
# 僅導出結構
$> mysqldump --no-data --routines --events db1 > schema.sql
# 僅導出數據
$> mysqldump --no-create-info db1 > data.sql
3. 跨服務器遷移數據庫
# 源服務器導出
$> mysqldump --databases db1 > db1_dump.sql
# 目標服務器導入
$> mysql < db1_dump.sql
4. 升級兼容性測試
# 在新版本服務器測試結構兼容性
$> mysqldump --no-data --routines --events db1 > test_schema.sql
$> mysql -u root -p < test_schema.sql  # 檢查錯誤或警告

五、關鍵注意事項

  1. 二進制日志:必須啟用(--log-bin)以實現增量備份與時間點恢復。
  2. MyISAM表維護:定期使用 REPAIR TABLEmyisamchk -r 修復表。
  3. 安全存儲:備份文件需壓縮加密(如企業版或第三方工具),并與數據庫分開存儲。
  4. 副本備份:生產環境建議從副本執行備份,避免影響主庫性能。

終極忠告:定期驗證備份有效性!未經驗證的備份等于沒有備份。

通過合理組合物理/邏輯備份、全量/增量策略,并嚴格遵守恢復演練流程,可確保MySQL數據庫在任何災難場景下快速恢復業務。

內容來源于官方文檔
https://dev.mysql.com/doc/refman/8.4/en/backup-and-recovery.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87240.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87240.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87240.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mac 部署Latex OCR并優化體驗(打包成App并支持全局快捷鍵)

&#x1f341; 前言 最近閱讀論文&#xff0c;在做筆記的時候總是要手動輸入一些latex公式&#xff0c;非常耗時。我使用Hapigo的Latex 公式識別&#xff0c;感覺還挺好用&#xff0c;但是缺陷是只有30次免費額度&#xff0c;于是在網上搜索了一下&#xff0c;發現可以通過本地…

128K 長文本處理實戰:騰訊混元 + 云函數 SCF 構建 PDF 摘要生成器

一、背景 在數字化辦公時代&#xff0c;PDF 文檔因其格式穩定、兼容性強等特點&#xff0c;成為知識分享與文檔存儲的主要載體之一。但隨著文檔規模的增長&#xff0c;如何快速提取關鍵信息成為亟待解決的問題。尤其對于 128K 字符及以上的長文本 PDF&#xff0c;傳統處理方法…

Elasticsearch 排序性能提升高達 900 倍

作者&#xff1a;來自 Elastic Benjamin Trent, Mayya Sharipova, Chenhui Wang 及 Libby Lin 了解我們如何通過更快的 float / half_float 排序和 integer 排序的延遲優化來加快 Elasticsearch 排序速度。 Elasticsearch 引入了大量新功能&#xff0c;幫助你為你的使用場景構建…

Nginx重定向協議沖突解決方案:The plain HTTP request was sent to HTTPS port

問題原因 ??服務器運行在 HTTPS 模式&#xff0c;但代碼卻發出了 HTTP 重定向指令&#xff0c;兩套協議對不上&#xff0c;瀏覽器直接報錯。?? 在Java中&#xff0c;常見于response.sendRedirect()方法的使用。該方法默認生成基于HTTP的絕對URL&#xff0c;即便原始請求是…

機器學習如何讓智能推薦“更懂你”,助力轉化率飛躍?

機器學習如何讓智能推薦“更懂你”,助力轉化率飛躍? 今天咱聊聊一個電商、內容平臺、社交App都離不開的“秘密武器”——智能推薦系統,以及機器學習到底如何幫它提升轉化率的。 說白了,轉化率就是“點進去買單”的概率。智能推薦做得好,轉化率能蹭蹭上漲;做不好,用戶滑…

Ruby CGI Session

Ruby CGI Session 引言 CGI&#xff08;Common Gateway Interface&#xff09;是一種網絡服務器與外部應用程序&#xff08;如腳本或程序&#xff09;進行通信的協議。在Ruby語言中&#xff0c;CGI被廣泛用于創建動態網頁。本文將深入探討Ruby CGI Session的相關知識&#xf…

從零開始的云計算生活——第二十四天,重起航帆,初見MySQL數據庫

一.故事劇情 接下來要進入到一條比較長的路——mysql數據庫&#xff0c;之后會用一段時間來學習mySQL數據庫的內容&#xff0c;今天先從基礎開始介紹mysql數據庫。 二.MySQL數據庫概述 1.數據庫概念 數據庫(Database) 簡稱DB&#xff0c;按照一定格式存儲數據的一些文件的…

ES文件管理器v4.4.3(ES文件瀏覽器)

前言 ES文件管理器&#xff08;也叫ES文件瀏覽器&#xff09;是一款手機上用來看和管理文件的工具。你可以用它像在電腦上一樣&#xff0c;把文件整理進不同的文件夾&#xff0c;查找照片、文檔、視頻都很方便。它還能看到平時看不到的隱藏文件&#xff0c;幫你清理一些沒用的…

leetcode:693. 交替位二進制數(數學相關算法題,python3解法)

難度&#xff1a;簡單 給定一個正整數&#xff0c;檢查它的二進制表示是否總是 0、1 交替出現&#xff1a;換句話說&#xff0c;就是二進制表示中相鄰兩位的數字永不相同。 示例 1&#xff1a; 輸入&#xff1a;n 5 輸出&#xff1a;true 解釋&#xff1a;5 的二進制表示是&am…

GRU與LSTM之間的聯系和區別

前面我們談到RNN與LSTM之間的關系&#xff0c;而GRU也是循環神經網絡中的一種模型&#xff0c;那么它與LSTM有什么區別呢&#xff1f; 接下來我來對GRU&#xff08;Gated Recurrent Unit&#xff09;模型進行一次深度解析&#xff0c;重點關注其內部結構、參數以及與LSTM的對比…

2025年數字信號、計算機通信與軟件工程國際會議(DSCCSE 2025)

2025年數字信號、計算機通信與軟件工程國際會議&#xff08;DSCCSE 2025&#xff09; 2025 International Conference on Digital Signal, Computer Communication, and Software Engineering 一、大會信息 會議簡稱&#xff1a;DSCCSE 2025 大會地點&#xff1a;中國北京 審稿…

北峰智能SDC混合組網通信方案,助力無網絡場景高效作業

在自然災害、公共安全事件或大規模活動應急響應中&#xff0c;專用無線對講通信因其不受外部網絡限制、免去通話費用、無需撥號便可實現即時語音調度的特點&#xff0c;展現出其不可替代的價值。尤其在許多無基礎設施的地區&#xff0c;對智能化調度管理的需求并不亞于城市地區…

HarmonyOS應用開發高級認證知識點梳理 (二) 組件交互

以下是 HarmonyOS 應用開發中 ?組件交互? 的核心知識點梳理&#xff08;高級認證備考重點&#xff09;&#xff0c;涵蓋事件傳遞、狀態管理、通信機制及生命周期協同&#xff1a; 一、事件處理機制 基礎交互類型? (1)點擊事件&#xff08;onClick&#xff09; 核心要點?…

【SQL優化案例】索引創建不合理導致SQL消耗大量CPU資源

#隱式轉換 第一章 適用環境 oracle 11glinux 6.9 第二章 Top SQL概況 下面列出我們發現的特定模塊中Top SQL的相關情況&#xff1a; SQL_ID 模塊 SQL類型 主要問題 fnc58puaqkd1n 無 select 索引創建不合理&#xff0c;導致全索引掃描&#xff0c;產生了大量邏輯讀 …

autoas/as 工程的RTE靜態消息總線實現與端口數據交換機制詳解

0. 概述 autoas/as 工程的RTE&#xff08;Runtime Environment&#xff09;通過自動生成C代碼&#xff0c;將各SWC&#xff08;軟件組件&#xff09;之間的數據通信全部靜態化、結構化&#xff0c;實現了類似“靜態消息總線”的通信模型。所有端口的數據交換都必須經過RTE接口…

【機器學習第四期(Python)】LightGBM 方法原理詳解

LightGBM 概述 一、LightGBM 簡介二、LightGBM 原理詳解?? 核心原理&#x1f9e0; LightGBM 的主要特點 三、LightGBM 實現步驟&#xff08;Python&#xff09;&#x1f9ea; 可調參數推薦完整案例代碼&#xff08;回歸任務 可視化&#xff09; 參考 LightGBM 是由微軟開源的…

時序數據庫IoTDB監控指標采集與可視化指南

一、概述 本文以時序數據庫IoTDB V1.0.1版本為例&#xff0c;介紹如何通過Prometheus采集Apache IoTDB的監控指標&#xff0c;并使用Grafana進行可視化。 二、Prometheus聚合運算符 Prometheus支持多種聚合運算符&#xff0c;用于在時間序列數據上進行聚合操作。以下是一些常…

React安裝使用教程

一、React 簡介 React 是由 Facebook 開發和維護的一個用于構建用戶界面的 JavaScript 庫&#xff0c;適用于構建復雜的單頁應用&#xff08;SPA&#xff09;。它采用組件化、虛擬 DOM 和聲明式編程等理念&#xff0c;已成為前端開發的主流選擇。 二、React 安裝方式 2.1 使用…

.NET MAUI跨平臺串口通訊方案

文章目錄 MAUI項目架構設計平臺特定實現接口定義Windows平臺實現Android平臺實現 MAUI主界面實現依賴注入配置相關學習資源.NET MAUI開發移動端開發平臺特定實現依賴注入與架構移動應用發布跨平臺開發最佳實踐性能優化測試與調試開源項目參考 MAUI項目架構設計 #mermaid-svg-OG…

BUUCTF在線評測-練習場-WebCTF習題[MRCTF2020]你傳你[特殊字符]呢1-flag獲取、解析

解題思路 打開靶場&#xff0c;左邊是艾克&#xff0c;右邊是詩人&#xff0c;下面有個文件上傳按鈕 結合題目&#xff0c;是一個文件上傳漏洞&#xff0c;一鍵去世看源碼可知是提交按鈕&#xff0c;先上傳個一句話木馬.php試試 <?php eval($_POST[shell]); ?> 被過…