mysql資料庫的幾種備份方式與比較

2021-10-06 06:31:35 字數 2015 閱讀 4659

資料庫備份測試

一. 環境說明:

準備兩份資料tmsdb與anccountdb的完整備份,匯入測試機器,然後從測試機器通過mysqldump,mydumper與xtrabackup分別進行備份,讀取耗時與壓縮率

原始資料資訊:

資料庫名稱 壓縮檔案大小 解壓後大小 還原耗時 還原後物理資料大小

tmsdb 1.8g 14g 2h50m 25g

accountdb 5.2g 24g 6h3m 47g

二. 對tmsdb還原後的資料做備份測試

使用mysqlpump備份壓縮資料庫 四個併發執行緒備份

time mysqlpump -p --add-drop-database --single-transaction --default-parallelism=4 -a | gzip > /data/mysql/backup/tms.sql.gz

總計:備份方式 耗時 檔案大小

mysqlpump 10m41s 1.9g

使用mysqldump備份壓縮資料庫,gzip壓縮

mysqldump -p --master-data=2 --extended-insert --single-transaction -a | gzip > /data/mysql/backup/full.sql.gz

總計:備份方式 耗時 檔案大小

mysqldump 11m18s 1.8g

使用mydumper壓縮備份資料庫 4個併發執行緒備份

time mydumper -p -t 4 -c -o /data/mysql/backup/mydumper

總計:備份方式 耗時 檔案大小

mydumper 5m13s 1.8g

使用xtrabackup流式壓縮備份,使用gzip壓縮

time innobackupex --user bak --password ****** --stream=xbstream /data/mysql/backup/ | gzip > /data/mysql/backup/inno_full.gz

總計:備份方式 耗時 檔案大小

xtrabackup+gzip 19m26s 3.6g

xtrabackup流式壓縮備份,使用bzip2壓縮

time innobackupex --user bak --password ****** --stream=xbstream /data/mysql/backup/ | bzip2 > /data/mysql/backup/inno_full.bz2

總計:備份方式 耗時 檔案大小

xtrabackup+bzip2 57m15s 2.5g

三. 對accountdb還原後的資料做備份測試

mysqlpump備份,gzip壓縮

time mysqlpump -p --add-drop-database --single-transaction --compress --default-parallelism=4 --default-character-set=utf8 -b accountdb |gzip > /data/mysql/backup/account.sql.gz

總計:備份方式 耗時 檔案大小

mysqlpump 24m55s 5.3g

xtrabackup流式壓縮備份,使用gzip壓縮

innobackupex --password ****** --stream=xbstream /data/mysql/backup/ | gzip > /data/mysql/backup/inno.acc.gz

總計:備份方式 耗時 檔案大小

xtrabackup 51m46s 12g

mysqldump備份壓縮資料庫 單個執行緒備份,gzip壓縮

mysqldump -p --master-data=2 --extended-insert --single-transaction -b accountdb | gzip > /data/mysql/backup/dump.acc.gz

總計:備份方式 耗時 檔案大小

xtrabackup 26m38s 5.2g

MySql資料庫備份的幾種方式

備份整個資料庫 mysqldump u root h host p dbname backdb.sql備份資料庫中的某個表 mysqldump u root h host p dbname tbname1,tbname2 backdb.sql備份多個資料庫 mysqldump u root h ho...

MySql資料庫備份的幾種方式

mysqldump工具備份 備份整個資料庫 mysqldump u root h host p dbname backdb.sql備份資料庫中的某個表 mysqldump u root h host p dbname tbname1,tbname2 backdb.sql備份多個資料庫 mysqldu...

mysql資料庫備份方式

1 使用sqlyog視覺化工具備份,sqlyog工具可參考 右鍵需要備份的資料庫 備份 匯出 備份資料庫 2 總有一些人不習慣使用視覺化工具,可用命令列模式進行備份,開啟cmd命令列視窗 1 輸入命令 mysqldump u root p 資料庫名稱 檔案位置 資料庫名.sql 然後輸入資料庫roo...