MySQL物理備份與恢復工具XtraBackend使用總結

文章目錄

        • 1.描述
        • 2.安裝
        • 3.使用
          • 3.1 備份源數據庫
          • 3.2 恢復到目標數據庫
            • 3.2.1 恢復目錄
            • 3.2.2 解壓文件
            • 3.2.3 應用日志
            • 3.2.4 復制數據
        • 4.使用總結
          • 4.1 備份
          • 4.2 恢復
          • 4.3 例子

1.描述

借助Percona XtraBackup工具實現MySQL的物理備份與恢復,相當于將整個MySQL進行了復制,再粘貼到其他地方運行。

2.安裝

XtraBackup與MySQL版本對應關系:

XtraBackupMySQL
percona-xtrabackup-245.7
percona-xtrabackup-808
percona-xtrabackup-818.1
percona-xtrabackup-828.2
percona-xtrabackup-838.3
yum -y install percona-xtrabackup-24
yum -y install rsync
yum -y install perl-Digest-MD5
yum -y install qpress
3.使用
3.1 備份源數據庫
#讀取指定配置文件中的信息,壓縮mysql的數據,輸出到/mysql目錄下,再重定向到test.xbstream文件中(相當于tar包)。
innobackupex --defaults-file=/etc/my.cnf  --user=root --password='123456' --port=3306 --socket=/tmp/mysql.sock --stream=xbstream --compress --parallel=8 --compress-threads=8 /mysql > /databak/test.xbstream

–defaults-file指定mysql配置文件,需要包含datadir等信息

–stream采用流的方式備份,這樣可以選擇輸出到本地或遠程

3.2 恢復到目標數據庫

如果恢復位置不在同一臺服務器,可以通過scp進行文件傳輸。

3.2.1 恢復目錄
#相當于解壓tar包,輸出到指定目錄下
xbstream -x < /databak/test.xbstream -C /databak/test
3.2.2 解壓文件
#對前一步輸出目錄下的所有壓縮文件進行解壓
innobackupex --decompress --parallel=8 --compress-threads=8 /databak/test
3.2.3 應用日志
#通過redo同步已提交的事務,使數據文件保持一致
innobackupex --apply-log /databak/test
3.2.4 復制數據

復制數據前,先停止目標MySQL,刪除他的data目錄和日志目錄

#將數據文件拷貝到目標MySQL的數據目錄下
innobackupex --defaults-file=/etc/my.cnf  --parallel=8 --copy-back /databak/test

3.2.5 啟動

#修改mysql相關的文件持有者為mysql用戶
chown -R mysql.mysql /data/mysql
#啟動mysql
systemctl start mysqld

如果是目標MySQL是從服務器,需要恢復主從關系

#查看備份的數據最后的binlog的偏移量,或者gtid
cat /databak/test/xtrabackup_binlog_info
#格式如下:
#mysql-bin.000001        3229488  87bd47b9-12f6-11ed-ae2c-0050569534a2:1-6,8cdb65cf-12f6-11ed-aab7-005056950a99:1-139

連接到MySQL客戶端:

stop slave;
#清理中繼日志
reset slave;
#清理binlog
reset master;
#設置已經執行但本地binlog中未記錄的gtid集合
set @@global.gtid_purged='87bd47b9-12f6-11ed-ae2c-0050569534a2:1-6,8cdb65cf-12f6-11ed-aab7-005056950a99:1-139';
#重新建立主從關系
change master to master_host='192.168.86.111',master_port=3306,master_user='backuser',master_password='123456', master_auto_position=1 ;
start slave;
show slave status\G
4.使用總結

環境:96核 754G內存 30T磁盤(生產環境的物理機)

4.1 備份

壓縮效率:XtraBackup默認采用的zstd壓縮算法,理論壓縮比為5:1。實際使用中,一個MySQL實例由3.2t壓縮為502G;另一個MySQL實例由5.7t壓縮為825G,壓縮比達到6:1以上

備份速度:一個MySQL實例備份生成502G的壓縮文件,耗時大約50分鐘,判斷每10分鐘生成100G的壓縮文件。如果5個t的數據,壓縮后可能為800G,則耗時約80分鐘。

傳輸文件:通過scp傳輸文件,速度約為350-450MB/s,500G需要20-25分鐘

4.2 恢復

恢復包含多個步驟:

恢復目錄:將壓縮文件解包到指定目錄下,速度較快,約10-20分鐘

解壓:一個MySQL實例為512G,解壓后3.6T,解壓耗時約37分鐘,約10分鐘1T

應用日志:一個MySQL實例耗時約15分鐘

復制:一個MySQL實例,3.6T數據復制耗時約40分鐘,約10分鐘1T

4.3 例子

綜上,假設現有5T的數據需要處理,從備份到恢復的整個流程耗時如下:

  1. 備份,5T按6:1壓縮至800G,耗時80分鐘
  2. 傳輸,scp按450M/s,耗時30分鐘
  3. 恢復,20分鐘
  4. 解壓,10分鐘1T,耗時50分鐘
  5. 應用日志,20分鐘
  6. 復制,10分鐘1T,耗時50分鐘

在以上理想情況下,5T數據至少需要4個小時以上,實際可能5-6小時

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

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

相關文章

Django+vue自動化測試平臺(25)-- 自動化測試之封裝APscheduler定時任務框架

APscheduler簡介 APscheduler全稱Advanced Python Scheduler&#xff0c;作用為在指定的時間規則執行指定的作業&#xff0c;其是基于Quartz的一個Python定時任務框架&#xff0c;實現了Quartz的所有功能&#xff0c;使用起來十分方便。提供了基于日期、固定時間間隔以及cront…

2.5 C#視覺程序開發實例1----CamManager實現模擬相機采集圖片

2.5 C#視覺程序開發實例1----CamManager實現模擬相機采集圖片 1 目標效果視頻 CamManager 2 CamManager讀取本地文件時序 3 BD_Vision_Utility添加代碼 3.0 導入鏈接庫 BD_OperatorSets.dllSystem.Windows.Forms.dllOpencvSharp 3.1 導入VisionParam中創建的文件Util_FileO…

安防監控/視頻匯聚平臺EasyCVR設備錄像回看請求播放時間和實際時間對不上,是什么原因?

安防監控EasyCVR視頻匯聚平臺可提供多協議&#xff08;RTSP/RTMP/國標GB28181/GAT1400/海康Ehome/大華/海康/宇視等SDK&#xff09;的設備接入、音視頻采集、視頻轉碼、處理、分發等服務&#xff0c;系統具備實時監控、云端錄像、回看、告警、平臺級聯以及多視頻流格式分發等視…

旅游計劃定制小程序網頁模板源碼

手機在線旅游定制服務&#xff0c;定制旅游出行app小程序模板。包含&#xff1a;定制介紹、定制表單填寫、我的訂單等。 旅游計劃定制小程序網頁模板源碼

C++ STL 文件系統用法介紹

目錄 一. 獲取當前工作目錄 二:設置和讀取文件寫入時間 三:獲取文件目錄大小 四:獲取文件類型信息 一. 獲取當前工作目錄 #include <filesystem> #include <iostream> #include <fstream> namespace fs = std::filesystem;int main() {std::cout &l…

交換機接口三種模式Access、Trunk、Hybrid

交換機接口的三種模式 1.access接口模式&#xff08;接入鏈路&#xff0c;接入模式&#xff09; 接收數據&#xff1a;當接收到一個無標記幀的時候&#xff0c;打上自己的PVid并接受&#xff08;就是自己的vlan標簽&#xff09;。當接收到一個有標記幀的時候&#xff0c;對比…

swiftui中NavigationStack布局navigationBarTitleDisplayMode作用,以及內容頂部空白區域解決辦法

寫了一個小demo用于學習NavigationStack和toolbar/ToolbarItem知識&#xff0c;但是在寫一個瀑布流布局的時候&#xff0c;設置了頂部的toolbar&#xff0c;然后內容區域的頂部出現了一大片空白區域&#xff0c;這樣的效果并不是很美觀很好看&#xff0c;所以就想著研究解決一下…

科普文:一文搞懂SpringBoot(狂神說Java)

1、Hello,World&#xff01; 1.1、SpringBoot簡介 回顧什么是Spring Spring是一個開源框架&#xff0c;2003 年興起的一個輕量級的Java 開發框架&#xff0c;作者&#xff1a;Rod Johnson 。 Spring是為了解決企業級應用開發的復雜性而創建的&#xff0c;簡化開發。 Spring是…

clickhouse學習筆記(五)SQL操作

目錄 一、增 二、刪改 三、查詢以及各種子句 1、with子句 a、表達式為常量 b、表達式為函數調用 c、表達式為子查詢 2、from子句 3、array join子句 a、INNER ARRAY JOIN b、LEFT ARRAY JOIN c、數組的一些函數 groupArray groupUniqArray arrayFlatten splitBy…

Java 如何在volatile內部調用接口

在Java中&#xff0c;volatile 關鍵字通常用于確保變量的可見性和有序性&#xff0c;而不是用來修飾接口或方法調用的。volatile 修飾的變量會被立即同步到主存&#xff0c;并且在每次訪問時都會從主存中重新讀取&#xff0c;而不是從緩存中讀取。這意味著對volatile變量的修改…

2005-2023年各省居民人均消費支出、城鎮居民人均消費支出、農村居民人均消費支出數據(無缺失)

2005-2023年各省居民人均消費支出、城鎮居民人均消費支出、農村居民人均消費支出數據&#xff08;無缺失&#xff09; 1、時間&#xff1a;2005-2023年 2、來源&#xff1a;國家統計局、統計年鑒 3、范圍&#xff1a;31省 4、指標&#xff1a;全體居民人均消費支出、城鎮居…

探索 Linux 的 /etc/hosts 文件:基礎知識與實用指南

探索 Linux 的 /etc/hosts 文件&#xff1a;基礎知識與實用指南 在 Linux 和 Unix 系統中&#xff0c;/etc/hosts 文件扮演著一個至關重要的角色。它是系統的本地 DNS&#xff08;域名系統&#xff09;解析器&#xff0c;負責將主機名映射到 IP 地址。在網絡和系統管理中&…

Linux中軟件yum安裝與編譯安裝

yum安裝與編譯安裝是Linux系統中常見的兩種軟件安裝方式&#xff0c;它們在多個方面存在顯著的區別。以下是對這兩種安裝方式的詳細比較&#xff1a; yum安裝 定義與特點&#xff1a; 定義&#xff1a;YUM&#xff08;Yellow dog Updater, Modified&#xff09;是Linux類系統…

Windows netstat命令詳解,Windows查看網絡連接

「作者簡介」&#xff1a;冬奧會網絡安全中國代表隊&#xff0c;CSDN Top100&#xff0c;就職奇安信多年&#xff0c;以實戰工作為基礎著作 《網絡安全自學教程》&#xff0c;適合基礎薄弱的同學系統化的學習網絡安全&#xff0c;用最短的時間掌握最核心的技術。 netstat 常用來…

rocketmq實現限流

目錄 問題背景 技術方向 方案確認 消息隊列&#xff08;√&#xff09; 分布式鎖&#xff08;&#xff09; 方案實現 監控方向 業務方向 問題背景 公司郵件服務token有 分鐘內超200封的熔斷機制&#xff0c;當前token被熔斷后&#xff0c;系統發郵件操作會被忽略&…

python中的原子操作簡介

深入理解Python中的原子操作 在現代編程中&#xff0c;多線程是提高程序執行效率的常用技術。然而&#xff0c;當多個線程并發執行時&#xff0c;如何確保數據的一致性和操作的正確性成為了一個關鍵問題。原子操作&#xff08;Atomic Operation&#xff09;便是解決這一問題的…

責任鏈模式(大話設計模式)C/C++版本

責任鏈模式 C #include <iostream> #include <memory>using namespace std; // 請求類 struct Request {std::string requestType; // 請求類型int number; // 該請求類型的數量std::string requestContent; // 請求內容 };// 抽象經理類 clas…

MySQL學習記錄 —— ?? CentOS7.9環境下的MySQL8.4 安裝和配置

文章目錄 1、安裝和配置2、MySQL 包位置3、主要程序介紹 本篇開始在之前mysql博客的基礎上繼續延伸&#xff0c;適合有一定基礎的mysql使用者閱讀 環境 &#xff1a;CentOS 7.9 root 用戶&#xff0c;MySQL 8.4 1、安裝和配置 看一下當前系統版本 cat /etc/redhat-release應當…

前端重點之:Vue+websocket通信詳細用法和websocket心跳機制的使用,websocket斷開實時監測,websocket實時通信

今年年初找工作,好多gou面試官總喜歡問關于websocket通信的使用方式,此次又用到了,在此做個總結:主要包含websocket的具體使用方法,和重點:(心跳機制的使用),就是主要是前端實時監測websocket是否有斷連和數據的處理 在前端開發中,WebSocket 是一種常見的技術,用于…

淺談序列化及文本格式

序列化及文本格式 需求背景 軟件項目在開發過程中&#xff0c;將大量初始化配置項在一定程度上保存在配置文件中。肯定有很多人有疑問&#xff0c;為什么不將這些信息放在軟件內存中。開機時與用戶交互進行確認&#xff1f;這肯定是一個好想法&#xff0c;但是如果配置太多或…