欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL物理備份與恢復(fù)工具XtraBackup使用小結(jié)

 更新時間:2024年07月21日 09:57:27   作者:雨下的竹子  
本文主要介紹了MySQL物理備份與恢復(fù)工具XtraBackup使用小結(jié),借助Percona XtraBackup工具實(shí)現(xiàn)MySQL的物理備份與恢復(fù),相當(dāng)于將整個MySQL進(jìn)行了復(fù)制,再粘貼到其他地方運(yùn)行,感興趣的可以了解一下

1.描述

借助Percona XtraBackup工具實(shí)現(xiàn)MySQL的物理備份與恢復(fù),相當(dāng)于將整個MySQL進(jìn)行了復(fù)制,再粘貼到其他地方運(yùn)行。

2.安裝

XtraBackup與MySQL版本對應(yīng)關(guān)系:

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 備份源數(shù)據(jù)庫

#讀取指定配置文件中的信息,壓縮mysql的數(shù)據(jù),輸出到/mysql目錄下,再重定向到test.xbstream文件中(相當(dāng)于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采用流的方式備份,這樣可以選擇輸出到本地或遠(yuǎn)程

3.2 恢復(fù)到目標(biāo)數(shù)據(jù)庫

如果恢復(fù)位置不在同一臺服務(wù)器,可以通過scp進(jìn)行文件傳輸。

3.2.1 恢復(fù)目錄

#相當(dāng)于解壓tar包,輸出到指定目錄下
xbstream -x < /databak/test.xbstream -C /databak/test

3.2.2 解壓文件

#對前一步輸出目錄下的所有壓縮文件進(jìn)行解壓
innobackupex --decompress --parallel=8 --compress-threads=8 /databak/test

3.2.3 應(yīng)用日志

#通過redo同步已提交的事務(wù),使數(shù)據(jù)文件保持一致
innobackupex --apply-log /databak/test

3.2.4 復(fù)制數(shù)據(jù)

復(fù)制數(shù)據(jù)前,先停止目標(biāo)MySQL,刪除他的data目錄和日志目錄

#將數(shù)據(jù)文件拷貝到目標(biāo)MySQL的數(shù)據(jù)目錄下
innobackupex --defaults-file=/etc/my.cnf  --parallel=8 --copy-back /databak/test

3.2.5 啟動

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

如果是目標(biāo)MySQL是從服務(wù)器,需要恢復(fù)主從關(guān)系

#查看備份的數(shù)據(jù)最后的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;
#設(shè)置已經(jīng)執(zhí)行但本地binlog中未記錄的gtid集合
set @@global.gtid_purged='87bd47b9-12f6-11ed-ae2c-0050569534a2:1-6,8cdb65cf-12f6-11ed-aab7-005056950a99:1-139';
#重新建立主從關(guān)系
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.使用總結(jié)

環(huán)境:96核 754G內(nèi)存 30T磁盤(生產(chǎn)環(huán)境的物理機(jī))

4.1 備份

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

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

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

4.2 恢復(fù)

恢復(fù)包含多個步驟:

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

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

應(yīng)用日志:一個MySQL實(shí)例耗時約15分鐘

復(fù)制:一個MySQL實(shí)例,3.6T數(shù)據(jù)復(fù)制耗時約40分鐘,約10分鐘1T

4.3 例子

綜上,假設(shè)現(xiàn)有5T的數(shù)據(jù)需要處理,從備份到恢復(fù)的整個流程耗時如下:

  • 備份,5T按6:1壓縮至800G,耗時80分鐘
  • 傳輸,scp按450M/s,耗時30分鐘
  • 恢復(fù),20分鐘
  • 解壓,10分鐘1T,耗時50分鐘
  • 應(yīng)用日志,20分鐘
  • 復(fù)制,10分鐘1T,耗時50分鐘

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

到此這篇關(guān)于MySQL物理備份與恢復(fù)工具XtraBackend使用小結(jié)的文章就介紹到這了,更多相關(guān)MySQL XtraBackend使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL5.0存儲過程教程

    MySQL5.0存儲過程教程

    Introduction 簡介 MySQL 5.0 新特性教程是為需要了解5.0版本新特性的MySQL老用戶而寫的。簡單的來說是介紹了“存儲過程、觸發(fā)器、視圖、信息架構(gòu)視圖”,在此感謝譯者陳朋奕的努力.
    2008-04-04
  • 從0到1學(xué)會MySQL單表查詢

    從0到1學(xué)會MySQL單表查詢

    這篇文章主要給大家介紹了關(guān)于如何從0到1學(xué)會MySQL單表查詢的相關(guān)資料,單表查詢是指從一張表數(shù)據(jù)中查詢所需的數(shù)據(jù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • MySQL利用AES_ENCRYPT()與AES_DECRYPT()加解密的正確方法示例

    MySQL利用AES_ENCRYPT()與AES_DECRYPT()加解密的正確方法示例

    MySQL中AES_ENCRYPT('密碼','鑰匙')函數(shù)可以對字段值做加密處理,AES_DECRYPT(表的字段名字,'鑰匙')函數(shù)解密處理,下面這篇文章主要給大家介紹了關(guān)于MySQL利用AES_ENCRYPT()與AES_DECRYPT()加解密的正確方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考下。
    2017-08-08
  • RC級別下MySQL死鎖問題的解決

    RC級別下MySQL死鎖問題的解決

    本文主要介紹了RC級別下MySQL死鎖問題的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 檢查mysql是否成功啟動的方法(bat+bash)

    檢查mysql是否成功啟動的方法(bat+bash)

    這篇文章主要介紹了檢查mysql是否成功啟動的方法(bat+bash),如果mysql沒有啟動則開啟服務(wù),需要的朋友可以參考下
    2016-06-06
  • mysql視圖之創(chuàng)建可更新視圖的方法詳解

    mysql視圖之創(chuàng)建可更新視圖的方法詳解

    這篇文章主要介紹了mysql視圖之創(chuàng)建可更新視圖的方法,結(jié)合實(shí)例形式分析了mysql可更新視圖的具體創(chuàng)建、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • mysql中如何判斷當(dāng)前是字符 mysql判斷字段中有無漢字

    mysql中如何判斷當(dāng)前是字符 mysql判斷字段中有無漢字

    這篇文章主要介紹了mysql如何判斷字段中有無漢字的方法,使用length與char_length兩個函數(shù)就可以完成
    2014-01-01
  • CentOS下安裝mysql時忘記設(shè)置root密碼致無法登錄的解決方法

    CentOS下安裝mysql時忘記設(shè)置root密碼致無法登錄的解決方法

    最近在給公司的內(nèi)網(wǎng)開發(fā)用服務(wù)器裝系統(tǒng),然后裝mysql居然就花了一天,原因是因?yàn)楸救嗽贑entOS下安裝萬mysql后,無法通過root進(jìn)入,因?yàn)榘惭b的時候,并沒有設(shè)置root密碼而導(dǎo)致無法登錄,通過查找了資料終于解決了,現(xiàn)在想方法分享給大家,有需要的朋友們可以參考借鑒。
    2016-11-11
  • mysql?binlog?回滾示例解析

    mysql?binlog?回滾示例解析

    嚴(yán)格來說mysqlbinlog 不能算回滾,他只是將過去的數(shù)據(jù)修改記錄 重新執(zhí)行一遍,但是從結(jié)果上來看,他也算把數(shù)據(jù)恢復(fù)到任意時間點(diǎn)了,這篇文章主要介紹了mysql?binlog回滾示例解析,需要的朋友可以參考下
    2023-08-08
  • Mysql中強(qiáng)制索引的具體使用

    Mysql中強(qiáng)制索引的具體使用

    Mysql強(qiáng)制索引可以通過強(qiáng)制使用某些列的索引來提高查詢的性能,本文就來介紹一下Mysql中強(qiáng)制索引的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08

最新評論