利用xtrabackup 全量備份的mysql5.6.40實例的100G的數據恢復MySQL5.7.24實例上到單實例消耗的時間:
服務器的環境如下:
dell r620 雙顆CPU,單核心是12核心,內存是72G ,硬盤僞sata接口的企業級的SSD固態硬盤:500G
固態盤型號如下:
PD Type: SATA
Raw Size: 465.761 GB [0x3a386030 Sectors]
Inquiry Data: S3Z3NB0K116201W Samsung SSD 860 EVO 500GB RVT01B6Q
Device Speed: 6.0Gb/s
消耗時間測試演示如下:
[root@e ~]# time innobackupex --apply-log /data/backup/db_3306_20190812
InnoDB: Shutdown completed; log sequence number 143003422760
190815 16:53:30 completed OK!
real 0m13.475s
user 0m0.445s
sys 0m3.182s
[root@e db_3306_20190812]# time innobackupex --defaults-file=/data/mysql5.7/my3306.cnf --copy-back /data/backup/db_3306_20190812/
190815 17:12:06 [01] Copying ./ib_buffer_pool to /data/mysql5.7/3306/data/ib_buffer_pool
190815 17:12:06 [01] ...done
190815 17:12:06 [01] Copying ./xtrabackup_info to /data/mysql5.7/3306/data/xtrabackup_info
190815 17:12:06 [01] ...done
190815 17:12:06 [01] Copying ./xtrabackup_binlog_pos_innodb to /data/mysql5.7/3306/data/xtrabackup_binlog_pos_innodb
190815 17:12:06 [01] ...done
190815 17:12:06 [01] Copying ./xtrabackup_master_key_id to /data/mysql5.7/3306/data/xtrabackup_master_key_id
190815 17:12:06 [01] ...done
190815 17:12:06 [01] Copying ./ibtmp1 to /data/mysql5.7/3306/data/ibtmp1
190815 17:12:06 [01] ...done
190815 17:12:06 completed OK!
real 12m55.410s
user 0m0.476s
sys 3m56.766s
授權 /data/mysql5.7/3306/data 目錄mysql權限:
[root@e 3306]# chown -R mysql.mysql /data/mysql5.7/3306/data
啓動mysql
[root@e db_3306_20190812]# /usr/local/mysql5.7/bin/mysqld --defaults-file=/data/mysql5.7/my3306.cnf &
數據恢復完成:
[root@e binlog]# mysql -uroot -p'lnmp.org#25199' -S /tmp/3306.sock -e "show databases;"|grep testdb
Warning: Using a password on the command line interface can be insecure.
testdb01
testdb02
.。。。。。
testdb06
testdb07
testdb08
從恢復到啓動mysql新實例 整個執行過程消耗的時間不到14分鐘。相比較mysql自身的mysqldump工具,xtrabackup備份和恢復數據庫的效率是遠遠高於mysqldump 的。
備份特別大的數據時,xtrabackup是首推的備份工具